diff options
Diffstat (limited to 'scripts/generic/parse_build_log.py')
| -rw-r--r-- | scripts/generic/parse_build_log.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/scripts/generic/parse_build_log.py b/scripts/generic/parse_build_log.py index 3d3de950..dc87fb2a 100644 --- a/scripts/generic/parse_build_log.py +++ b/scripts/generic/parse_build_log.py @@ -47,6 +47,7 @@ prefix_re = re.compile(r'^agent:[\d :/]+\w+\.go:\d+: (\d+: )?') # Match QTestlib output start_test_re = re.compile(r'^\*{9} Start testing of \w+ \*{9}$') end_test_re = re.compile(r'Totals: \d+ passed, (\d+) failed, \d+ skipped, \d+ blacklisted, \d+ms') +end_test_crash_re = re.compile(r'\d+/\d+\sTest\s#\d+:.*\*\*\*Failed.*') make_error_re = re.compile(r'make\[.*Error \d+$') @@ -87,7 +88,7 @@ def print_failed_test(lines, start, end): print('\n{}: {}'.format(start, lines[start])) for i in range(start + 1, end): line = lines[i] - if 'FAIL!' in line or 'XPASS' in line: + if 'FAIL!' in line or 'XPASS' or '***Failed' in line: last_fail = i if i - last_fail < 4: print(line) @@ -117,6 +118,10 @@ def parse(lines): if fails: print_failed_test(lines, test_start_line, i) test_start_line = -1 + elif end_test_crash_re.match(line): + logging.debug(f"===> test crashed {line} {test_start_line} {i}") + print_failed_test(lines, test_start_line, i) + test_start_line = -1 # Do not report errors within configuration tests elif line == 'Running configuration tests...': within_configure_tests = True |
