Author: hwright
Date: Sun Jun 13 23:19:53 2010
New Revision: 954328
URL: http://svn.apache.org/viewvc?rev=954328&view=rev
Log:
* build/run_tests.py
(_run_prog): Remove all the custom stdout/stderr redirect handling, in favor
of the subprocess module's built-in facilities.
Modified:
subversion/trunk/build/run_tests.py
Modified: subversion/trunk/build/run_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/run_tests.py?rev=954328&r1=954327&r2=954328&view=diff
==============================================================================
--- subversion/trunk/build/run_tests.py (original)
+++ subversion/trunk/build/run_tests.py Sun Jun 13 23:19:53 2010
@@ -323,31 +323,9 @@ class TestHarness:
'''Execute the file PROGNAME in a subprocess, with ARGLIST as its
arguments (a list/tuple of arg0..argN), redirecting standard output and
error to the log file. Return the command's exit code.'''
- def restore_streams(stdout, stderr):
- os.dup2(stdout, 1)
- os.dup2(stderr, 2)
- os.close(stdout)
- os.close(stderr)
-
- if self.log:
- sys.stdout.flush()
- sys.stderr.flush()
- self.log.flush()
- old_stdout = os.dup(1)
- old_stderr = os.dup(2)
- try:
- if self.log:
- os.dup2(self.log.fileno(), 1)
- os.dup2(self.log.fileno(), 2)
- rv = subprocess.call(arglist)
- except:
- if self.log:
- restore_streams(old_stdout, old_stderr)
- raise
- else:
- if self.log:
- restore_streams(old_stdout, old_stderr)
- return rv
+ prog = subprocess.Popen(arglist, stdout=self.log, stderr=self.log)
+ prog.wait()
+ return prog.returncode
def main():