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
"""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