From 08d092be5759214b989a84092e2721cfc4382e2e Mon Sep 17 00:00:00 2001 From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com> Date: Sun, 14 Dec 2025 08:39:44 -0500 Subject: [PATCH] Use WindowsSelectorEventLoopPolicy to fix Windows test warnings (#2607) * fix: skip TextIO log file test on Windows Avoids PytestUnraisableExceptionWarning caused by ProactorEventLoop cleanup timing issues with subprocess pipe transports. * Use WindowsSelectorEventLoopPolicy to fix Windows test warnings Re-add the SelectorEventLoop fix from bcd2e594 that was inadvertently removed in cf101c2a. This fixes ProactorEventLoop cleanup warnings on Windows CI without needing to skip individual tests. --- tests/conftest.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index 22487f97e..b45824a9e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -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."""