Author: philip
Date: Tue Jul 3 08:56:02 2012
New Revision: 1356624
URL: http://svn.apache.org/viewvc?rev=1356624&view=rev
Log:
Use buffered IO for pipes in the regression testsuite code. This
reduces the time to run the testsuite by about 10% on my Linux
box.
* subversion/tests/cmdline/svnlook_tests.py
(output_command): Use buffered IO for pipe.
* subversion/tests/cmdline/svntest/main.py
(open_pipe, spawn_process, run_command_stdin): Use buffered IO for pipe.
Modified:
subversion/trunk/subversion/tests/cmdline/svnlook_tests.py
subversion/trunk/subversion/tests/cmdline/svntest/main.py
Modified: subversion/trunk/subversion/tests/cmdline/svnlook_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnlook_tests.py?rev=1356624&r1=1356623&r2=1356624&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnlook_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnlook_tests.py Tue Jul 3
08:56:02 2012
@@ -643,7 +643,7 @@ svnlook_bin=%s
fp = open(os.path.join(sys.argv[1], 'hooks.log'), 'wb')
def output_command(fp, cmd, opt):
command = [svnlook_bin, cmd, '-t', sys.argv[2], sys.argv[1]] + opt
- process = subprocess.Popen(command, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False)
+ process = subprocess.Popen(command, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False, bufsize=-1)
(output, errors) = process.communicate()
status = process.returncode
fp.write(output)
Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1356624&r1=1356623&r2=1356624&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Tue Jul 3
08:56:02 2012
@@ -371,7 +371,7 @@ def _quote_arg(arg):
# Quoting suitable for most Unix shells.
return "'" + arg.replace("'", "'\\''") + "'"
-def open_pipe(command, bufsize=0, stdin=None, stdout=None, stderr=None):
+def open_pipe(command, bufsize=-1, stdin=None, stdout=None, stderr=None):
"""Opens a subprocess.Popen pipe to COMMAND using STDIN,
STDOUT, and STDERR. BUFSIZE is passed to subprocess.Popen's
argument of the same name.
@@ -444,7 +444,7 @@ def wait_on_pipe(waiter, binary_mode, st
logger.info("CMD: %s exited with %d" % (command_string, exit_code))
return stdout_lines, stderr_lines, exit_code
-def spawn_process(command, bufsize=0, binary_mode=0, stdin_lines=None,
+def spawn_process(command, bufsize=-1, binary_mode=0, stdin_lines=None,
*varargs):
"""Run any binary, supplying input text, logging the command line.
BUFSIZE dictates the pipe buffer size used in communication with the
@@ -477,7 +477,7 @@ def spawn_process(command, bufsize=0, bi
return exit_code, stdout_lines, stderr_lines
-def run_command_stdin(command, error_expected, bufsize=0, binary_mode=0,
+def run_command_stdin(command, error_expected, bufsize=-1, binary_mode=0,
stdin_lines=None, *varargs):
"""Run COMMAND with VARARGS; input STDIN_LINES (a list of strings
which should include newline characters) to program via stdin - this