fix(test): replace fixed sleeps with polling in context_bleed test to fix ordering flake
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user