AutoTest: Do not mix up sanitizer results and normal results

If a test framework uses stderr for output we might end up adding
real test output to a not-yet-sent sanitizer result.

Fixes: QTCREATORBUG-24328
Change-Id: I389c09da626229aa8985b2f99671b6ba8b6c467c
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2021-02-18 08:32:27 +01:00
parent d74edd2806
commit 1133e26d3a

View File

@@ -125,6 +125,8 @@ QString TestOutputReader::removeCommandlineColors(const QString &original)
void TestOutputReader::reportResult(const TestResultPtr &result)
{
if (m_sanitizerResult)
sendAndResetSanitizerResult();
m_futureInterface.reportResult(result);
m_hadValidOutput = true;
}
@@ -188,7 +190,8 @@ void TestOutputReader::sendAndResetSanitizerResult()
}
}
reportResult(m_sanitizerResult);
m_futureInterface.reportResult(m_sanitizerResult);
m_hadValidOutput = true;
m_sanitizerLines.clear();
m_sanitizerResult.reset();
m_sanitizerOutputMode = SanitizerOutputMode::None;