[Test] Improve visibility of total test suite failures

Treat crashes when running the GTest test programs and the Python test suite as
being more severe than individual test failures.
This commit is contained in:
Ray Speth 2014-10-03 22:15:06 +00:00
parent a5149ae665
commit 6d4271fdfe
2 changed files with 13 additions and 9 deletions

View file

@ -93,8 +93,8 @@ Up-to-date tests skipped: %(skipped)s
Tests failed: %(failed)s
%(failures)s
*****************************""" % dict(
passed=len(self.passed),
failed=len(self.failed),
passed=sum(self.passed.values()),
failed=sum(self.failed.values()),
skipped=len(self.tests),
failures=failures)

View file

@ -70,9 +70,11 @@ def addTestProgram(subdir, progName, env_vars={}):
else:
testResults.passed[testName] = 1
else:
# Total failure of the test program - unable to determine status
# of individual tests
testResults.failed[passedFile.name] = program
# Total failure of the test program - unable to determine status of
# individual tests. This is potentially very bad, so it counts as
# more than one failure.
testResults.failed[passedFile.name +
' ***no results for entire test suite***'] = 100
testenv = localenv.Clone()
testenv['ENV'].update(env_vars)
@ -127,8 +129,10 @@ def addPythonTest(testname, subdir, script, interpreter, outfile,
failures += 1
if code and failures == 0:
# Failure, but unable to determine status of individual tests
testResults.failed[testname] = True
# Failure, but unable to determine status of individual tests. This
# gets counted as many failures.
testResults.failed[testname +
' ***no results for entire test suite***'] = 100
testenv = localenv.Clone()
passedFile = File(pjoin(subdir, '%s.passed' % testname))
@ -176,9 +180,9 @@ def addMatlabTest(script, testName, dependencies=None, env_vars=()):
print results
print '------ end Matlab test results ------'
if 'FAILED' in results:
testResults.failed[passedFile.name] = True
testResults.failed[passedFile.name] = 1
else:
testResults.passed[passedFile.name] = True
testResults.passed[passedFile.name] = 1
open(target[0].path, 'w').write(time.asctime()+'\n')
testenv = localenv.Clone()