Commit 39763446 authored by Jan Kiene's avatar Jan Kiene
Browse files

account for weird renderer sanitizer tests...

parent 53516de1
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -156,7 +156,10 @@ def parse_errors_from_sysout(
    accu = []
    err_cls = None
    for l in sysout.splitlines():
        line = l.strip()
        # hack for the weird renderer cases
        line = l.removeprefix("E")

        line = line.strip()

        m_usan = re.search(pattern_usan, line)
        m_msan = re.search(pattern_msan, line)
@@ -192,10 +195,22 @@ def main(args):
    errors = []
    for tc in root[0].findall("testcase"):
        tc_name = tc.attrib["name"]
        errors_found = []
        for sysout in tc.findall("system-out"):
            errors.extend(
            errors_found.extend(
                parse_errors_from_sysout(sysout.text, tc_name, args.inject_cwd)
            )
        # hack for weird renderer tests that don't play the same game as everyone else...
        # if we don't find anything in system-out, try in failure
        if len(errors_found) > 0:
            errors.extend(errors_found)
            continue

        for failure in tc.findall("failure"):
            errors_found.extend(
                parse_errors_from_sysout(failure.text, tc_name, args.inject_cwd)
            )
        errors.extend(errors_found)

    unique_errors = list(sorted(set(sorted(errors))))
    print(f"Found {len(unique_errors)} unique errors")