Use SelectorEventLoop on Windows to fix pytest crashes

Windows ProactorEventLoop has known memory corruption issues that cause
pytest-xdist worker crashes with "node down: Not properly terminated".

Setting WindowsSelectorEventLoopPolicy in conftest.py avoids this issue.

See: https://github.com/python/cpython/issues/116773

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Chris Guidry 2025-12-05 12:03:05 -05:00
commit bcd2e594f0

View file

@ -1,4 +1,6 @@
import asyncio
import socket
import sys
from collections.abc import Callable
from pathlib import Path
from typing import Any
@ -7,6 +9,11 @@ import pytest
from fastmcp.utilities.tests import temporary_settings
# Use SelectorEventLoop on Windows to avoid ProactorEventLoop crashes
# See: https://github.com/python/cpython/issues/116773
if sys.platform == "win32":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
def pytest_collection_modifyitems(items):
"""Automatically mark tests in integration_tests folder with 'integration' marker."""