From dd4a9d8f46ece1c57690c6eade0fd1ac82cbab69 Mon Sep 17 00:00:00 2001 From: Derek Xu Date: Fri, 19 Sep 2025 11:58:33 -0700 Subject: [PATCH 1/3] Test commit bcda711 - trigger CI --- test_commit_marker.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test_commit_marker.txt diff --git a/test_commit_marker.txt b/test_commit_marker.txt new file mode 100644 index 00000000..bc380665 --- /dev/null +++ b/test_commit_marker.txt @@ -0,0 +1 @@ +# Testing commit bcda711 From f3729557a3ceca72ca4fb6076a589090fcd64ce0 Mon Sep 17 00:00:00 2001 From: Derek Xu Date: Fri, 19 Sep 2025 12:25:30 -0700 Subject: [PATCH 2/3] new port --- tests/pytest/test_mcp_session_autocreate.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/pytest/test_mcp_session_autocreate.py b/tests/pytest/test_mcp_session_autocreate.py index df816f55..edbff0ac 100644 --- a/tests/pytest/test_mcp_session_autocreate.py +++ b/tests/pytest/test_mcp_session_autocreate.py @@ -16,7 +16,7 @@ def _run_airline_server(): import os - os.environ["PORT"] = "9780" + os.environ["PORT"] = "9700" from eval_protocol.mcp_servers.tau2.tau2_mcp import AirlineDomainMcp server = AirlineDomainMcp(seed=None) @@ -29,7 +29,7 @@ async def test_tool_call_returns_json_without_prior_initial_state(): proc.start() try: - base_url = "http://127.0.0.1:9780/mcp" + base_url = "http://127.0.0.1:9700/mcp" client = httpx.Client(timeout=1.0) deadline = time.time() + 20 while time.time() < deadline: @@ -41,7 +41,7 @@ async def test_tool_call_returns_json_without_prior_initial_state(): pass time.sleep(0.2) else: - pytest.fail("Server did not start on port 9780 in time") + pytest.fail("Server did not start on port 9700 in time") session = MCPSession(base_url=base_url, session_id="test-autocreate", seed=None, model_id="test-model") From 0a3ae19b20a15de724010f79f3e59ce70380a70c Mon Sep 17 00:00:00 2001 From: Derek Xu Date: Fri, 19 Sep 2025 12:37:03 -0700 Subject: [PATCH 3/3] try new port --- tests/pytest/test_mcp_session_autocreate.py | 22 +++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/tests/pytest/test_mcp_session_autocreate.py b/tests/pytest/test_mcp_session_autocreate.py index edbff0ac..1c1ec42c 100644 --- a/tests/pytest/test_mcp_session_autocreate.py +++ b/tests/pytest/test_mcp_session_autocreate.py @@ -3,8 +3,9 @@ without requiring a prior initial state fetch, and returns JSON. """ +import socket import time -from multiprocessing import Process +from multiprocessing import Process, Queue import httpx import pytest @@ -13,10 +14,16 @@ from eval_protocol.types import MCPSession -def _run_airline_server(): +def _run_airline_server(port_queue): import os - os.environ["PORT"] = "9700" + # Use dynamic port allocation to avoid conflicts in parallel CI runs + with socket.socket() as s: + s.bind(("", 0)) + port = s.getsockname()[1] + + port_queue.put(port) # Send the port back to the test + os.environ["PORT"] = str(port) from eval_protocol.mcp_servers.tau2.tau2_mcp import AirlineDomainMcp server = AirlineDomainMcp(seed=None) @@ -25,11 +32,14 @@ def _run_airline_server(): @pytest.mark.asyncio async def test_tool_call_returns_json_without_prior_initial_state(): - proc = Process(target=_run_airline_server, daemon=True) + port_queue = Queue() + proc = Process(target=_run_airline_server, args=(port_queue,), daemon=True) proc.start() try: - base_url = "http://127.0.0.1:9700/mcp" + # Get the dynamically assigned port + port = port_queue.get(timeout=10) + base_url = f"http://127.0.0.1:{port}/mcp" client = httpx.Client(timeout=1.0) deadline = time.time() + 20 while time.time() < deadline: @@ -41,7 +51,7 @@ async def test_tool_call_returns_json_without_prior_initial_state(): pass time.sleep(0.2) else: - pytest.fail("Server did not start on port 9700 in time") + pytest.fail(f"Server did not start on port {port} in time") session = MCPSession(base_url=base_url, session_id="test-autocreate", seed=None, model_id="test-model")