-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Open
Labels
P3Nice to haves, rare edge casesNice to haves, rare edge casesbugSomething isn't workingSomething isn't working
Description
Initial Checks
- I confirm that I'm using the latest version of MCP Python SDK
- I confirm that I searched for my issue in https://github.com/modelcontextprotocol/python-sdk/issues before opening this issue
Description
Three tests in TestChildProcessCleanup are flaky. They fail intermittently on macOS (darwin) with the same root cause: the child process hasn't started writing to the marker file before the assertion checks.
Affected tests:
TestChildProcessCleanup.test_basic_child_process_cleanupTestChildProcessCleanup.test_nested_process_treeTestChildProcessCleanup.test_early_parent_exit
CI evidence: Tests observed failing on 2025-11-12 and continue to be flaky.
Output:
________ TestChildProcessCleanup.test_basic_child_process_cleanup ________
[gw9] darwin -- Python 3.11.14
async def test_basic_child_process_cleanup(self):
...
# Verify child is writing
if os.path.exists(marker_file): # pragma: no branch
initial_size = os.path.getsize(marker_file)
await anyio.sleep(0.3)
size_after_wait = os.path.getsize(marker_file)
> assert size_after_wait > initial_size, "Child process should be writing"
E AssertionError: Child process should be writing
E assert 0 > 0
tests/client/test_stdio.py:310: AssertionError________ TestChildProcessCleanup.test_nested_process_tree ________
[gw9] darwin -- Python 3.11.14
> assert new_size > initial_size, f"{name} process should be writing"
E AssertionError: parent process should be writing
E assert 0 > 0
tests/client/test_stdio.py:413: AssertionError________ TestChildProcessCleanup.test_early_parent_exit ________
[gw9] darwin -- Python 3.11.14
> assert size2 > size1, "Child should be writing"
E AssertionError: Child should be writing
E assert 0 > 0
tests/client/test_stdio.py:494: AssertionErrorPython & MCP Python SDK
Python 3.11.14, macOS (darwin)
Latest SDK version
Metadata
Metadata
Assignees
Labels
P3Nice to haves, rare edge casesNice to haves, rare edge casesbugSomething isn't workingSomething isn't working