From a233d3356683a874dae00a245159a845467c33bb Mon Sep 17 00:00:00 2001 From: Jakob Rossi Date: Sat, 11 Jul 2026 03:17:42 -0400 Subject: [PATCH] gh-151540: Use a selector event loop in the happy-eyeballs tests (GH-153375) (cherry picked from commit a1ef41ab4198db28f63fda646200b14badb96513) Co-authored-by: Jakob Rossi --- Lib/test/test_asyncio/test_base_events.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py index e59bc25668b4cba..ffec37aaa6fe6bc 100644 --- a/Lib/test/test_asyncio/test_base_events.py +++ b/Lib/test/test_asyncio/test_base_events.py @@ -1092,7 +1092,11 @@ async def sock_connect(sock, address): await asyncio.sleep(1) sock.connect(address) - loop = asyncio.new_event_loop() + # gh-151540: use a selector event loop instead of the platform + # default; the Windows proactor loop would register the mocked + # socket with a real IOCP handle instead of the mocked + # _add_reader/_add_writer below. + loop = asyncio.SelectorEventLoop() loop._add_writer = mock.Mock() loop._add_writer = mock.Mock() loop._add_reader = mock.Mock() @@ -1124,7 +1128,8 @@ async def sock_connect(sock, address): await asyncio.sleep(1) sock.connect(address) - loop = asyncio.new_event_loop() + # gh-151540: see test_create_connection_happy_eyeballs above. + loop = asyncio.SelectorEventLoop() loop._add_writer = mock.Mock() loop._add_writer = mock.Mock() loop._add_reader = mock.Mock()