Test that 'hq server wait' succeeds when server starts during the wait period
(hq_env: HqEnv, tmp_path)
| 306 | |
| 307 | |
| 308 | def test_server_wait_success_delayed(hq_env: HqEnv, tmp_path): |
| 309 | """Test that 'hq server wait' succeeds when server starts during the wait period""" |
| 310 | |
| 311 | def delayed_server_start(): |
| 312 | time.sleep(2) |
| 313 | hq_env.start_server(server_dir=str(tmp_path)) |
| 314 | |
| 315 | import threading |
| 316 | |
| 317 | server_thread = threading.Thread(target=delayed_server_start) |
| 318 | |
| 319 | start_time = time.time() |
| 320 | server_thread.start() |
| 321 | |
| 322 | # Should succeed when server starts after ~2s |
| 323 | hq_env.command(["server", "wait", "--timeout", "10s", "--server-dir", str(tmp_path)], use_server_dir=False) |
| 324 | elapsed = time.time() - start_time |
| 325 | |
| 326 | server_thread.join() |
| 327 | |
| 328 | # Should complete after roughly 2-3 seconds (when server becomes available) |
| 329 | assert 1 < elapsed < 6.0 |