From fa4ab86f50f38c687c4d415404d7b59fb09dce4f Mon Sep 17 00:00:00 2001 From: Robert Bradshaw Date: Sat, 4 Dec 2010 23:17:16 -0800 Subject: [PATCH] Python 2.3 fix --- runtests.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/runtests.py b/runtests.py index c5961b1b..8a2b9cd1 100644 --- a/runtests.py +++ b/runtests.py @@ -9,7 +9,6 @@ import shutil import unittest import doctest import operator -import subprocess import tempfile import traceback try: @@ -731,18 +730,25 @@ class EndToEndTest(unittest.TestCase): commands = (self.commands .replace("CYTHON", "PYTHON %s" % os.path.join(self.cython_root, 'cython.py')) .replace("PYTHON", sys.executable)) - old_path = os.environ.get('PYTHONPATH') try: + old_path = os.environ.get('PYTHONPATH') os.environ['PYTHONPATH'] = os.path.join(self.cython_syspath, (old_path or '')) - p = subprocess.Popen(commands, - stderr=subprocess.PIPE, - stdout=subprocess.PIPE, - shell=True) - res = p.wait() - if res != 0: - print p.stdout.read() - print p.stderr.read() - self.assertEqual(0, res) + for command in commands.split('\n'): + if sys.version_info[:2] >= (2,4): + import subprocess + p = subprocess.Popen(commands, + stderr=subprocess.PIPE, + stdout=subprocess.PIPE, + shell=True) + out, err = p.communicate() + res = p.returncode + if res != 0: + print command + print out + print err + else: + res = os.system(command) + self.assertEqual(0, res, "non-zero exit status") finally: if old_path: os.environ['PYTHONPATH'] = old_path -- 2.26.2