From 8784f0ff911cc3bbc17ae390f8a803afd5ba7c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= Date: Wed, 28 Nov 2012 20:09:32 +0200 Subject: [PATCH] Improve test runner build_native and run_native functions to output detailer error report when things go wrong. --- tests/runner.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/runner.py b/tests/runner.py index 1b440f6e3..3f8a278fa 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -279,10 +279,18 @@ process(sys.argv[1]) return ret def build_native(self, filename): - Popen([CLANG, '-O2', filename, '-o', filename+'.native'], stdout=PIPE).communicate()[0] + process = Popen([CLANG, '-O2', filename, '-o', filename+'.native'], stdout=PIPE); + output = process.communicate() + if process.returncode is not 0: + print >> sys.stderr, "Building native executable with command '%s' failed with a return code %d!" % (' '.join([CLANG, '-O2', filename, '-o', filename+'.native']), process.returncode) + print "Output: " + output[0] def run_native(self, filename, args): - Popen([filename+'.native'] + args, stdout=PIPE).communicate()[0] + process = Popen([filename+'.native'] + args, stdout=PIPE); + output = process.communicate() + if process.returncode is not 0: + print >> sys.stderr, "Running native executable with command '%s' failed with a return code %d!" % (' '.join([filename+'.native'] + args), process.returncode) + print "Output: " + output[0] def assertIdentical(self, values, y): if type(values) not in [list, tuple]: values = [values]