| """Smoke tests for warm-start pair generation.""" |
| import json |
| import tempfile |
| from pathlib import Path |
|
|
| from warmstart.generate_pairs import generate_pairs |
|
|
|
|
| def test_generate_pairs_produces_minimum_count(): |
| with tempfile.TemporaryDirectory() as tmp: |
| counts = generate_pairs(target_count=50, out_dir=Path(tmp)) |
| assert counts["repair_pairs"] >= 50 |
| assert counts["drift_pairs"] >= 50 |
|
|
| repair_jsonl = Path(tmp) / "repair_pairs.jsonl" |
| drift_jsonl = Path(tmp) / "drift_pairs.jsonl" |
| assert repair_jsonl.exists() |
| assert drift_jsonl.exists() |
|
|
| first = json.loads(repair_jsonl.read_text(encoding="utf-8").splitlines()[0]) |
| assert first["role_target"] == "repair_agent" |
| assert "messages" in first and len(first["messages"]) == 3 |
| assert first["messages"][-1]["content"] |
|
|
| first_drift = json.loads(drift_jsonl.read_text(encoding="utf-8").splitlines()[0]) |
| assert first_drift["role_target"] == "drift_generator" |
| body = first_drift["messages"][-1]["content"] |
| parsed = json.loads(body) |
| assert "primitive_type" in parsed and "params" in parsed |
|
|
|
|
| def test_generate_pairs_covers_multiple_primitive_types(): |
| with tempfile.TemporaryDirectory() as tmp: |
| generate_pairs(target_count=50, out_dir=Path(tmp)) |
| summary = json.loads((Path(tmp) / "summary.json").read_text(encoding="utf-8")) |
| assert len(summary["primitives_covered"]) >= 5 |
| assert len(summary["tasks_covered"]) >= 5 |
|
|