From 5ab2c25a434a2e691be7940727f54ae82ba086a2 Mon Sep 17 00:00:00 2001 From: Marius Ciepluch <11855163+norandom@users.noreply.github.com> Date: Fri, 2 Oct 2026 08:05:34 +0200 Subject: [PATCH] test(plane): resume-timeout test leaves room for two fake-ax calls under host load Each fake ax call is a Python subprocess (0.3-1 s on a loaded host); a 0.3 s resume timeout fit only one, so the test failed whenever the host was busy. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo --- tests/test_plane_reconciler.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_plane_reconciler.py b/tests/test_plane_reconciler.py index 32fa6b5..dc3aa95 100644 --- a/tests/test_plane_reconciler.py +++ b/tests/test_plane_reconciler.py @@ -517,7 +517,9 @@ def test_resume_retries_deadline_exceeded_and_completion_is_the_delivery(fake: F def test_resume_gives_up_after_the_resume_timeout_with_the_last_error(fake: Fake, tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: - monkeypatch.setenv("OUSAST_RESUME_TIMEOUT", "0.3") + # Long enough for two fake-ax resume calls (each a Python subprocess, ~0.3-1 s under host load) with the 0.02 s + # poll doubling between them; 0.3 s allowed only one on a loaded host and made the test flaky. + monkeypatch.setenv("OUSAST_RESUME_TIMEOUT", "4") fake.script({**SCRIPT, "repo-facts": {**SCRIPT["repo-facts"], "resume_failures": 1000}}) assert reconciler.run(write_run(tmp_path, "stuck"), ax=str(fake.ax)) == "failed" reason = state_of("stuck")["tasks"]["repo-facts"]["reason"]