Use a larger amount of data for tests such as the interrupted_write
authorGregory P. Smith <greg@krypto.org>
Wed, 20 Mar 2013 06:25:16 +0000 (23:25 -0700)
committerGregory P. Smith <greg@krypto.org>
Wed, 20 Mar 2013 06:25:16 +0000 (23:25 -0700)
tests that depend on filling up an OS pipe so that they work properly
on systems configured with large pipe buffers.

Lib/subprocess.py
Lib/test/support.py

index aa3e21754e239e692774504d50fdbf6dbfc7f15d..e01cbd7223faeaefb76c69da6c9b6d7f4ef3f761 100644 (file)
@@ -166,7 +166,7 @@ getoutput(cmd):
     '/bin/ls'
 
 check_output(*popenargs, **kwargs):
-    Run command with arguments and return its output as a byte string.
+    Run command with arguments and return its output.
 
     If the exit code was non-zero it raises a CalledProcessError.  The
     CalledProcessError object will have the return code in the returncode
@@ -547,7 +547,7 @@ def check_call(*popenargs, **kwargs):
 
 
 def check_output(*popenargs, timeout=None, **kwargs):
-    r"""Run command with arguments and return its output as a byte string.
+    r"""Run command with arguments and return its output.
 
     If the exit code was non-zero it raises a CalledProcessError.  The
     CalledProcessError object will have the return code in the returncode
@@ -565,6 +565,9 @@ def check_output(*popenargs, timeout=None, **kwargs):
     ...               "ls -l non_existent_file ; exit 0"],
     ...              stderr=STDOUT)
     b'ls: non_existent_file: No such file or directory\n'
+
+    If universal_newlines=True is passed, the return value will be a
+    string rather than bytes.
     """
     if 'stdout' in kwargs:
         raise ValueError('stdout argument not allowed, it will be overridden.')
index 19989acf61893d93ac889165284a57f6d246cea9..f2c3434c078739f00f3beec335738b800838f136 100644 (file)
@@ -574,9 +574,9 @@ IPV6_ENABLED = _is_ipv6_enabled()
 
 
 # A constant likely larger than the underlying OS pipe buffer size.
-# Windows limit seems to be around 512B, and most Unix kernels have a 64K pipe
-# buffer size: take 1M to be sure.
-PIPE_MAX_SIZE = 1024 * 1024
+# Windows limit seems to be around 512B, and many Unix kernels have a 64K pipe
+# buffer size or 16*PAGE_SIZE: take a few megs to be sure.  This
+PIPE_MAX_SIZE = 3 * 1000 * 1000
 
 
 # decorator for skipping tests on non-IEEE 754 platforms