From: Robert Bradshaw Date: Sun, 5 Dec 2010 07:17:16 +0000 (-0800) Subject: Python 2.3 fix X-Git-Tag: 0.14.alpha0~13 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fa4ab86f50f38c687c4d415404d7b59fb09dce4f;p=cython.git Python 2.3 fix --- 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