From e7879f45a66cf72c5428df905b97cbf20a5b5335 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 2 Mar 2026 10:45:30 -0500 Subject: [PATCH] fix(test): replace fixed sleeps with polling in context_bleed test to fix ordering flake --- tests/test_gemini_cli_edge_cases.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/test_gemini_cli_edge_cases.py b/tests/test_gemini_cli_edge_cases.py index 89757b7..6ec26cc 100644 --- a/tests/test_gemini_cli_edge_cases.py +++ b/tests/test_gemini_cli_edge_cases.py @@ -14,7 +14,12 @@ def test_gemini_cli_context_bleed_prevention(live_gui: Any) -> None: """ client = ApiHookClient("http://127.0.0.1:8999") client.click("btn_reset") - time.sleep(1.5) + _start = time.time() + while time.time() - _start < 8.0: + s = client.get_session() + if not s or not s.get('session', {}).get('entries'): + break + time.sleep(0.2) client.set_value("auto_add_history", True) # Create a specialized mock for context bleed bleed_mock = os.path.abspath("tests/mock_context_bleed.py") @@ -31,7 +36,12 @@ print(json.dumps({"type": "result", "stats": {"total_tokens": 10}}), flush=True) client.set_value("ai_input", "Test context bleed") client.click("btn_gen_send") # Wait for completion - time.sleep(3) + _start = time.time() + while time.time() - _start < 15.0: + s = client.get_session() + if any(e.get('role') == 'AI' for e in s.get('session', {}).get('entries', [])): + break + time.sleep(0.3) session = client.get_session() entries = session.get("session", {}).get("entries", []) # Verify: We expect exactly one AI entry, and it must NOT contain the echoed user message