comparison tests/run-tests.py @ 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 cf427b04d5c0
children 84d0fe34427b
comparison
equal deleted inserted replaced
7812:18048153fd4e 7813:076401cf2b63
9 9
10 import difflib 10 import difflib
11 import errno 11 import errno
12 import optparse 12 import optparse
13 import os 13 import os
14 import popen2 14 try:
15 import subprocess
16 subprocess.Popen # trigger ImportError early
17 closefds = os.name == 'posix'
18 def Popen4(cmd, bufsize=-1):
19 p = subprocess.Popen(cmd, shell=True, bufsize=bufsize,
20 close_fds=closefds,
21 stdin=subprocess.PIPE, stdout=subprocess.PIPE,
22 stderr=subprocess.STDOUT)
23 p.fromchild = p.stdout
24 p.tochild = p.stdin
25 p.childerr = p.stderr
26 return p
27 except ImportError:
28 subprocess = None
29 from popen2 import Popen4
15 import shutil 30 import shutil
16 import signal 31 import signal
17 import sys 32 import sys
18 import tempfile 33 import tempfile
19 import time 34 import time
279 output = fromchild.read() 294 output = fromchild.read()
280 ret = fromchild.close() 295 ret = fromchild.close()
281 if ret == None: 296 if ret == None:
282 ret = 0 297 ret = 0
283 else: 298 else:
284 proc = popen2.Popen4(cmd) 299 proc = Popen4(cmd)
285 try: 300 try:
286 output = '' 301 output = ''
287 proc.tochild.close() 302 proc.tochild.close()
288 output = proc.fromchild.read() 303 output = proc.fromchild.read()
289 ret = proc.wait() 304 ret = proc.wait()