From 20f4bd4a043bded930c1c21befe28d9c79ea044b Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 5 Mar 2015 02:38:41 +0100 Subject: [PATCH] Issue #21619: Try to fix test_broken_pipe_cleanup() --- Lib/test/test_subprocess.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index fc98da50156..aaec3229f8f 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -2523,13 +2523,16 @@ class ContextManagerTests(BaseTestCase): def test_broken_pipe_cleanup(self): """Broken pipe error should not prevent wait() (Issue 21619)""" - proc = subprocess.Popen([sys.executable, "-c", - "import sys;" - "sys.stdin.close();" - "sys.stdout.close();" # Signals that input pipe is closed - ], stdin=subprocess.PIPE, stdout=subprocess.PIPE) + args = [sys.executable, "-c", + "import sys;" + "sys.stdin.close();" + "sys.stdout.close();"] # Signals that input pipe is closed + proc = subprocess.Popen(args, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + bufsize=support.PIPE_MAX_SIZE*2) proc.stdout.read() # Make sure subprocess has closed its input - proc.stdin.write(b"buffered data") + proc.stdin.write(b"x" * support.PIPE_MAX_SIZE) self.assertIsNone(proc.returncode) self.assertRaises(OSError, proc.__exit__, None, None, None) self.assertEqual(0, proc.returncode)