fix: backend unavailable test — use free port + ws.close(timeout=2s)
All checks were successful
Build and Deploy iLSP / test (push) Successful in 20s
Build and Deploy iLSP / build-and-deploy (push) Successful in 1m32s

- Use _free_port() instead of hardcoded 19999 (avoids CI port conflicts)
- Add timeout=2.0 to ws.close() so close handshake never blocks >2s
This commit is contained in:
Henrik Jess Nielsen
2026-05-10 15:16:55 +02:00
parent 404bd1418d
commit bf24b5677f
2 changed files with 4 additions and 2 deletions

View File

@@ -192,7 +192,9 @@ async def test_fake_client_receives_completion_capabilities(proxy_base_url):
@pytest.mark.asyncio
async def test_ws_backend_unavailable_closes_cleanly(proxy_base_url, monkeypatch):
"""If pylsp is unreachable, WebSocket should close gracefully (not crash)."""
monkeypatch.setattr("ilsp.server.PYTHON_LSP_PORT", 19999)
# Use _free_port() to guarantee nothing is listening (avoids CI port 19999 collisions)
dead_port = _free_port()
monkeypatch.setattr("ilsp.server.PYTHON_LSP_PORT", dead_port)
ws_url = proxy_base_url.replace("http://", "ws://") + "/python"
async with aiohttp.ClientSession() as session: