]> granicus.if.org Git - python/commitdiff
Issue #21619: Try to fix test_broken_pipe_cleanup()
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 5 Mar 2015 01:38:41 +0000 (02:38 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 5 Mar 2015 01:38:41 +0000 (02:38 +0100)
Lib/test/test_subprocess.py

index fc98da501560d93d3cefb96f71a4b2fb6630b8ec..aaec3229f8f064833742f58116dfaa688c883d1d 100644 (file)
@@ -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)