Files
OBLITERATUS/tests/test_runner_boundaries.py
T

27 lines
893 B
Python

"""Focused orchestration contracts for study execution."""
from __future__ import annotations
from unittest.mock import Mock
import pytest
from obliteratus import runner
from obliteratus.config import DatasetConfig, ModelConfig, StrategyConfig, StudyConfig
def test_run_study_passes_configured_quantization_to_loader(tmp_path, monkeypatch):
config = StudyConfig(
model=ModelConfig(name="fixture", quantization="4bit"),
dataset=DatasetConfig(name="fixture"),
strategies=[StrategyConfig(name="layer_removal")],
output_dir=str(tmp_path),
)
load_model = Mock(side_effect=RuntimeError("stop after loader boundary"))
monkeypatch.setattr(runner, "load_model", load_model)
with pytest.raises(RuntimeError, match="stop after loader boundary"):
runner.run_study(config)
assert load_model.call_args.kwargs["quantization"] == "4bit"