From 65b9ee2c9d1e673a1393970c8291b96281e629e2 Mon Sep 17 00:00:00 2001 From: ethernet Date: Sun, 6 Sep 2026 14:58:31 -0400 Subject: [PATCH] test(windows): allow cold pipe-fixture children to start The three-second idle override expired before PowerShell emitted any output under native CI load. Keep the drain and throughput bounds, use a fifteen-second idle window, and avoid pytest embedding the complete flood in rewritten assertions. --- tests/test_desktop_update_windows_pipe_drain.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_desktop_update_windows_pipe_drain.py b/tests/test_desktop_update_windows_pipe_drain.py index 2ed2343b2d..b5e086ebf3 100644 --- a/tests/test_desktop_update_windows_pipe_drain.py +++ b/tests/test_desktop_update_windows_pipe_drain.py @@ -110,7 +110,8 @@ def test_update_step_survives_pipe_leak_flood_and_live_child_stall( # how long the leaking grandchild lives. hold >> grace is what makes a # regression measurable rather than lucky. "HERMES_UPDATE_PIPE_DRAIN_SECONDS": "3", - "HERMES_UPDATE_STEP_IDLE_SECONDS": "3", + # Cold PowerShell children can take more than three seconds to emit. + "HERMES_UPDATE_STEP_IDLE_SECONDS": "15", "HERMES_SELFTEST_HOLD_SECONDS": "45", } @@ -138,5 +139,5 @@ def test_update_step_survives_pipe_leak_flood_and_live_child_stall( (tmp_path / "pipe-drain.stdout.log").write_text(result.stdout, encoding="utf-8") (tmp_path / "pipe-drain.stderr.log").write_text(result.stderr, encoding="utf-8") diagnosis = result.stdout[-6000:] + result.stderr[-6000:] - assert "PIPE-DRAIN SELF-TEST: PASS" in result.stdout, diagnosis - assert result.returncode == 0, diagnosis + if "PIPE-DRAIN SELF-TEST: PASS" not in result.stdout or result.returncode != 0: + pytest.fail(diagnosis, pytrace=False)