diff --git a/tools/parse_test_results.py b/tools/parse_test_results.py
index 7b715a792..b5d8ed24b 100755
--- a/tools/parse_test_results.py
+++ b/tools/parse_test_results.py
@@ -266,11 +266,19 @@ for branch_name in revs:
print >>details_file, '
%s |
' % f
for t in platforms[p][toolset][f]:
details = platforms[p][toolset][f][t]
- if details['status'] == 0: c = 'passed'
+ exitcode = details['status']
+ if exitcode == 0: c = 'passed'
else: c = 'failed'
+ error_state = '%d' % exitcode
+ if exitcode == 222:
+ error_state = 'valgrind error'
+ elif exitcode == 139:
+ error_state = 'crash'
+ elif exitcode == -1073740777:
+ error_state = 'timeout'
log_name = os.path.join('logs-%s-%d' % (branch_name, r), p + '~' + toolset + '~' + t + '~' + f.replace(' ', '.') + '.html')
print >>html, ' | ' % (t, f, c, log_name)
- print >>details_file, '%s |
' % (c, os.path.split(log_name)[1], t)
+ print >>details_file, '%s [%s] |
' % (c, os.path.split(log_name)[1], t, error_state)
save_log_file(log_name, project_name, branch_name, '%s - %s' % (t, f), int(details['timestamp']), details['output'])
print >>details_file, '
'