From 193cfbe268854af8d008294a7d3257963b80d1bd Mon Sep 17 00:00:00 2001 From: Coding Agent Date: Sat, 18 Jul 2026 06:31:53 +0800 Subject: [PATCH] fix: allow slow benchmark preflights --- scripts/compare_three_systems.py | 5 +++-- tests/test_swe_agent_local_runner.py | 20 +++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/scripts/compare_three_systems.py b/scripts/compare_three_systems.py index 8b6718a..67586af 100644 --- a/scripts/compare_three_systems.py +++ b/scripts/compare_three_systems.py @@ -60,6 +60,7 @@ str(Path.home() / "anaconda3" / "envs" / "swe_agent_py311"), ) SWE_AGENT_RUNNER = REPO_ROOT / "swe_agent_local_runner.py" +PREFLIGHT_TIMEOUT_SECONDS = 300 @dataclass @@ -315,7 +316,7 @@ def preflight_claude_endpoint(model: str) -> None: env=_claude_environment(model), capture_output=True, text=True, - timeout=90, + timeout=PREFLIGHT_TIMEOUT_SECONDS, ) if completed.returncode != 0 or not completed.stdout.strip(): detail = (completed.stderr or completed.stdout or "empty response")[-500:] @@ -333,7 +334,7 @@ def preflight_swe_agent_environment() -> None: cwd=REPO_ROOT, capture_output=True, text=True, - timeout=120, + timeout=PREFLIGHT_TIMEOUT_SECONDS, ) if completed.returncode != 0: detail = (completed.stderr or completed.stdout or "unknown import failure")[-1000:] diff --git a/tests/test_swe_agent_local_runner.py b/tests/test_swe_agent_local_runner.py index cf2901a..5e76796 100644 --- a/tests/test_swe_agent_local_runner.py +++ b/tests/test_swe_agent_local_runner.py @@ -7,7 +7,11 @@ import pytest import yaml -from scripts.compare_three_systems import _claude_environment, build_goal_description +from scripts.compare_three_systems import ( + _claude_environment, + build_goal_description, + preflight_claude_endpoint, +) from swe_agent_local_runner import ( LocalSWEEnv, _install_local_environment_stubs, @@ -161,6 +165,20 @@ def test_claude_environment_can_use_shared_benchmark_endpoint(monkeypatch): assert env["ANTHROPIC_MODEL"] == "deepseek-v4-flash[1m]" +def test_claude_preflight_allows_slow_official_endpoint(monkeypatch): + observed = {} + + def fake_run(*args, **kwargs): + observed.update(kwargs) + return SimpleNamespace(returncode=0, stdout="OK", stderr="") + + monkeypatch.setattr("scripts.compare_three_systems.subprocess.run", fake_run) + + preflight_claude_endpoint("deepseek-v4-flash") + + assert observed["timeout"] == 300 + + def test_docker_evaluator_does_not_rewrite_official_script_by_default(monkeypatch): monkeypatch.delenv("SWE_BENCH_PATCH_EVAL_ENV", raising=False) evaluator = _docker_evaluator()