Commit 55ecc364 authored by Jan Kiene's avatar Jan Kiene
Browse files

make it work for MSAN

parent c5dc3c19
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -97,13 +97,16 @@ def parse_errors_from_sysout(sysout: str) -> List[UsanError]:
    for l in sysout.splitlines():
        line = l.strip()

        m_usan = re.match(pattern_usan, line)
        m_msan = re.match(pattern_msan, line)
        m_usan = re.search(pattern_usan, line)
        m_msan = re.search(pattern_msan, line)

        assert m_msan != m_usan or (m_usan is None and m_msan is None)
        match_found = m_usan is not None or m_msan is not None
        usan_start_found = m_usan is not None
        msan_start_found = m_msan is not None and not line.startswith("SUMMARY:")

        if match_found:
        assert usan_start_found != msan_start_found or (
            not usan_start_found and not msan_start_found
        )
        if usan_start_found or msan_start_found:
            assert state == ParserState.OUT
            state = ParserState.IN
            accu = []
@@ -112,7 +115,7 @@ def parse_errors_from_sysout(sysout: str) -> List[UsanError]:
        if state == ParserState.IN:
            accu.append(line)

        if line.strip().startswith("SUMMARY:"):
        if line.startswith("SUMMARY:"):
            assert state == ParserState.IN

            errors.append(err_cls("\n".join(accu), commandlines))