]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-149879: Fix test_asyncio on Cygwin (#150416)
authorVictor Stinner <vstinner@python.org>
Mon, 25 May 2026 20:54:01 +0000 (22:54 +0200)
committerGitHub <noreply@github.com>
Mon, 25 May 2026 20:54:01 +0000 (22:54 +0200)
Skip tests on UNIX sockets since they hang on Cygwin.

Lib/asyncio/unix_events.py
Lib/test/support/socket_helper.py

index 915ff845249151c49bf2ddc305fcc86f05fe89b7..4a638dc47ea21c8e14111d8e1690b5da3e8f3d0c 100644 (file)
@@ -835,7 +835,8 @@ class _UnixSubprocessTransport(base_subprocess.BaseSubprocessTransport):
 
     def _start(self, args, shell, stdin, stdout, stderr, bufsize, **kwargs):
         stdin_w = None
-        if stdin == subprocess.PIPE and sys.platform.startswith('aix'):
+        if (stdin == subprocess.PIPE
+            and (sys.platform.startswith('aix') or sys.platform == 'cygwin')):
             # Use a socket pair for stdin on AIX, since it does not
             # support selecting read events on the write end of a
             # socket (which we use in order to detect closing of the
index a41e487f3e4bc52012425e30eab9b430a3b3a7ab..66e5379d2c6e259aa21220d18343ae5b77086d3d 100644 (file)
@@ -149,6 +149,8 @@ def skip_unless_bind_unix_socket(test):
     """Decorator for tests requiring a functional bind() for unix sockets."""
     if not hasattr(socket, 'AF_UNIX'):
         return unittest.skip('No UNIX Sockets')(test)
+    if sys.platform == 'cygwin':
+        return unittest.skip('UNIX sockets hang on Cygwin')(test)
     global _bind_nix_socket_error
     if _bind_nix_socket_error is None:
         from .os_helper import TESTFN, unlink