diff --git a/tools/parse_test_results.py b/tools/parse_test_results.py index c6958a54c..768c27c70 100755 --- a/tools/parse_test_results.py +++ b/tools/parse_test_results.py @@ -62,7 +62,7 @@ def style_output(o): elif ': warning: ' in l or ') : warning C' in l or \ 'Uninitialised value was created by a' in l or \ 'bytes after a block of size' in l: - ret += '%s\n' % l + ret += '%s\n' % l.strip() elif l == '====== END OUTPUT ======' and not subtle: ret += '%s\n' % l subtle = True @@ -144,8 +144,8 @@ def parse_tests(rev_dir): try: j = json.loads(open(f, 'rb').read()) timestamp = os.stat(f).st_mtime - except: - print '\nFAILED TO LOAD "%s"\n' %f + except Exception, e: + print '\nFAILED TO LOAD "%s": %s\n' % (f, e) continue platform = platform_toolset[0] @@ -248,18 +248,37 @@ for branch_name in revs: idx = 0 for toolset in platforms[p]: if idx > 0: print >>html, '' - print >>html, '%s' % toolset + log_dir = 'logs-%s-%d' % (branch_name, r) + if not os.path.exists(log_dir): + os.mkdir(log_dir) + details_name = os.path.join(log_dir, '%s-%s.html' % (p, toolset)) + details_file = open(details_name, 'w+') + + print >>details_file, '''%s %s [%s] + ''' % (p, toolset, branch_name) + print >>html, '%s' % (details_name, toolset) for f in platforms[p][toolset]: + print >>details_file, '' % f for t in platforms[p][toolset][f]: details = platforms[p][toolset][f][t] if details['status'] == 0: c = 'passed' else: c = 'failed' 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, '' % (c, log_name, t) save_log_file(log_name, project_name, branch_name, '%s - %s' % (t, f), int(details['timestamp']), details['output']) + print >>details_file, '
%s
%s
' print >>html, '' idx += 1 + print >>details_file, '' + details_file.close() num_printed_revs += 1 if num_printed_revs >= 20: break