fix(test): make queue completion test more robust with polling loop
All checks were successful
ci/woodpecker/push/coordinator Pipeline was successful

This commit is contained in:
2026-03-02 20:35:42 -06:00
parent 892ffd637f
commit 143c08ea12

View File

@@ -601,9 +601,21 @@ class TestCoordinatorIntegration:
coordinator = Coordinator(queue_manager=queue_manager, poll_interval=0.02)
task = asyncio.create_task(coordinator.start())
await asyncio.sleep(0.5) # Allow time for processing
await coordinator.stop()
# Poll for completion with timeout instead of fixed sleep
deadline = asyncio.get_event_loop().time() + 5.0 # 5 second timeout
while asyncio.get_event_loop().time() < deadline:
all_completed = True
for i in range(157, 162):
item = queue_manager.get_item(i)
if item is None or item.status != QueueItemStatus.COMPLETED:
all_completed = False
break
if all_completed:
break
await asyncio.sleep(0.05)
await coordinator.stop()
task.cancel()
try:
await task