Mercurial > hg
changeset 7813:076401cf2b63
run-tests.py: avoid using popen2.Popen4 - use subprocess instead
Use subprocess to emulate Popen4 if available - similar to how it is done in
util.py.
Using popen2 under python 2.6 gives
DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Fri, 27 Feb 2009 19:10:38 +0100 |
parents | 18048153fd4e |
children | 4421abf8c85d |
files | tests/run-tests.py |
diffstat | 1 files changed, 17 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Fri Feb 27 17:52:31 2009 +0100 +++ b/tests/run-tests.py Fri Feb 27 19:10:38 2009 +0100 @@ -11,7 +11,22 @@ import errno import optparse import os -import popen2 +try: + import subprocess + subprocess.Popen # trigger ImportError early + closefds = os.name == 'posix' + def Popen4(cmd, bufsize=-1): + p = subprocess.Popen(cmd, shell=True, bufsize=bufsize, + close_fds=closefds, + stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + p.fromchild = p.stdout + p.tochild = p.stdin + p.childerr = p.stderr + return p +except ImportError: + subprocess = None + from popen2 import Popen4 import shutil import signal import sys @@ -281,7 +296,7 @@ if ret == None: ret = 0 else: - proc = popen2.Popen4(cmd) + proc = Popen4(cmd) try: output = '' proc.tochild.close()