mirror of
https://github.com/microsoft/SkillOpt.git
synced 2026-07-03 14:02:58 +08:00
Add SearchQA rollout fail-fast tests
This commit is contained in:
25
tests/test_searchqa_rollout_failfast.py
Normal file
25
tests/test_searchqa_rollout_failfast.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import json
|
||||
|
||||
import pytest
|
||||
|
||||
from skillopt.envs.searchqa.rollout import run_batch
|
||||
|
||||
|
||||
def test_cached_systemic_rollout_failure_aborts(tmp_path):
|
||||
(tmp_path / "results.jsonl").write_text(
|
||||
"\n".join([
|
||||
json.dumps({"id": "1", "agent_ok": False, "fail_reason": "endpoint missing"}),
|
||||
json.dumps({"id": "2", "agent_ok": False, "fail_reason": "endpoint missing"}),
|
||||
]),
|
||||
encoding="utf-8",
|
||||
)
|
||||
|
||||
with pytest.raises(RuntimeError, match="endpoint missing"):
|
||||
run_batch([{"id": "1"}, {"id": "2"}], str(tmp_path), "skill")
|
||||
|
||||
|
||||
def test_cached_answered_wrong_rollout_does_not_abort(tmp_path):
|
||||
result = {"id": "1", "agent_ok": True, "hard": 0, "fail_reason": "wrong answer"}
|
||||
(tmp_path / "results.jsonl").write_text(json.dumps(result), encoding="utf-8")
|
||||
|
||||
assert run_batch([{"id": "1"}], str(tmp_path), "skill") == [result]
|
||||
Reference in New Issue
Block a user