[Scons/Test] Allow test suite to continue if gtest crashes

If a gtest program crashes, register that as a single test failure.
Previously, the entire test suite would be aborted because the
attempt to open the test results file (gtest-foo.xml) would fail.
This commit is contained in:
Ray Speth 2014-03-05 03:25:19 +00:00
parent c5eb2f57dd
commit 30bf2c806f

View file

@ -42,16 +42,20 @@ def addTestProgram(subdir, progName, env_vars={}):
if not code:
# Test was successful
open(passedFile.path, 'w').write(time.asctime()+'\n')
else:
testResults.failed[passedFile.name] = program
results = ElementTree.parse(resultsFile)
for test in results.findall('.//testcase'):
testName = ': '.join((progName, test.get('name')))
if test.findall('failure'):
testResults.failed[testName] = 1
else:
testResults.passed[testName] = 1
if os.path.exists(resultsFile):
# Determine individual test status
results = ElementTree.parse(resultsFile)
for test in results.findall('.//testcase'):
testName = ': '.join((progName, test.get('name')))
if test.findall('failure'):
testResults.failed[testName] = 1
else:
testResults.passed[testName] = 1
else:
# Total failure of the test program - unable to determine status
# of individual tests
testResults.failed[passedFile.name] = program
testenv = localenv.Clone()
testenv['ENV'].update(env_vars)