Skip to content

Commit 638bbf1

Browse files
committed
hard code port
1 parent e8477cf commit 638bbf1

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

tests/pytest/test_mcp_session_autocreate.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"""
55

66
import time
7-
from multiprocessing import Process, Queue
7+
from multiprocessing import Process
88

99
import httpx
1010
import pytest
@@ -13,15 +13,12 @@
1313
from eval_protocol.types import MCPSession
1414

1515

16-
def _run_airline_server(port_queue):
16+
def _run_airline_server():
1717
import os
1818

19-
# Use different ports based on Python version to avoid conflicts in parallel CI runs
2019
python_version = os.environ.get("PYTHON_VERSION", "3.10").replace(".", "")
21-
port = str(9780 + int(python_version[-2:])) # 9780, 9781, 9782
20+
port = str(9780 + int(python_version[-1:]))
2221
os.environ["PORT"] = port
23-
24-
port_queue.put(int(port)) # Send the port back to the test
2522
from eval_protocol.mcp_servers.tau2.tau2_mcp import AirlineDomainMcp
2623

2724
server = AirlineDomainMcp(seed=None)
@@ -30,26 +27,34 @@ def _run_airline_server(port_queue):
3027

3128
@pytest.mark.asyncio
3229
async def test_tool_call_returns_json_without_prior_initial_state():
33-
port_queue = Queue()
34-
proc = Process(target=_run_airline_server, args=(port_queue,), daemon=True)
30+
import os
31+
32+
proc = Process(target=_run_airline_server, daemon=True)
3533
proc.start()
3634

3735
try:
38-
# Get the dynamically assigned port
39-
port = port_queue.get(timeout=10)
36+
python_version = os.environ.get("PYTHON_VERSION", "3.10").replace(".", "")
37+
port = str(9780 + int(python_version[-1:]))
38+
4039
base_url = f"http://127.0.0.1:{port}/mcp"
4140
client = httpx.Client(timeout=1.0)
42-
deadline = time.time() + 20
41+
start_time = time.time()
42+
deadline = start_time + 20
43+
ready_time = None
4344
while time.time() < deadline:
4445
try:
4546
r = client.get(base_url)
4647
if r.status_code in (200, 307, 406):
48+
ready_time = time.time()
4749
break
4850
except Exception:
4951
pass
5052
time.sleep(0.2)
5153
else:
52-
pytest.fail(f"Server did not start on port {port} in time")
54+
pytest.fail("Server did not start on port 9780 in time")
55+
56+
assert ready_time is not None, "Server did not return a successful status before exiting loop"
57+
assert ready_time - start_time < 20, f"Server took too long to respond: {ready_time - start_time:.2f}s"
5358

5459
session = MCPSession(base_url=base_url, session_id="test-autocreate", seed=None, model_id="test-model")
5560

0 commit comments

Comments
 (0)