testlib: Pass on file location on failure, but don't assume we have one

We try our best to pass on the file location of a failure, including for
fatal errors, but the reporting or logging machinery should not assume
there is one.

By passing on nullptr for the file location we allow the logging backends
to decide how to handle the situation, e.g. by not emitting extra fields
for failure location.

This effectively reverts c25687fa0b,
in favor of relying on the backends to cope with null filename,
which they already did.

As qFatal uses QMessageLogger, which by default disables file/line
information in release builds, we need to explicitly enable this in
our self-tests, to get uniform test results. Similarly, we disable
file/line info from testlib itself, as reporting Qt internal file
and line information for user diagnostics is less useful. The odd
one out there is qtestdata.cpp, which still ends up in test output
due to using QTEST_ASSERT instead of qFatal for its diagnostics.
Cleaning up that, and unifying how we report testlib issues to the
user, is left for another day.

Pick-to: 6.2
Change-Id: Ib9451b8eed86fe3ade4a4dcaf0037e1a3450321c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Tor Arne Vestbø 2021-07-28 11:44:01 +02:00
parent bef57b317f
commit fa8cffa4c9
51 changed files with 61 additions and 101 deletions

View File

@ -62,6 +62,8 @@ qt_internal_add_module(Test
QT_NO_CAST_TO_ASCII
QT_NO_DATASTREAM
QT_NO_FOREACH
# Ensure uniform location info between release and debug builds
QT_NO_MESSAGELOGCONTEXT
LIBRARIES
Qt::CorePrivate
PUBLIC_LIBRARIES

View File

@ -239,7 +239,7 @@ namespace QTest {
* this function, it will proceed with calling exit() and abort()
* and hence crash. Therefore, we call these logging functions such
* that we wrap up nicely, and in particular produce well-formed XML. */
QTestResult::addFailure("Received a fatal error.", "Unknown file", 0);
QTestResult::addFailure("Received a fatal error.", context.file, context.line);
QTestLog::leaveTestFunction();
QTestLog::stopLogging();
}
@ -336,7 +336,6 @@ void QTestLog::addFail(const char *msg, const char *file, int line)
void QTestLog::addXFail(const char *msg, const char *file, int line)
{
QTEST_ASSERT(msg);
QTEST_ASSERT(file);
FOREACH_TEST_LOGGER
logger->addIncident(QAbstractTestLogger::XFail, msg, file, line);
@ -345,7 +344,6 @@ void QTestLog::addXFail(const char *msg, const char *file, int line)
void QTestLog::addXPass(const char *msg, const char *file, int line)
{
QTEST_ASSERT(msg);
QTEST_ASSERT(file);
++QTest::fails;
@ -366,7 +364,6 @@ void QTestLog::addBPass(const char *msg)
void QTestLog::addBFail(const char *msg, const char *file, int line)
{
QTEST_ASSERT(msg);
QTEST_ASSERT(file);
++QTest::blacklists;
@ -377,7 +374,6 @@ void QTestLog::addBFail(const char *msg, const char *file, int line)
void QTestLog::addBXPass(const char *msg, const char *file, int line)
{
QTEST_ASSERT(msg);
QTEST_ASSERT(file);
++QTest::blacklists;
@ -388,7 +384,6 @@ void QTestLog::addBXPass(const char *msg, const char *file, int line)
void QTestLog::addBXFail(const char *msg, const char *file, int line)
{
QTEST_ASSERT(msg);
QTEST_ASSERT(file);
++QTest::blacklists;
@ -399,7 +394,6 @@ void QTestLog::addBXFail(const char *msg, const char *file, int line)
void QTestLog::addSkip(const char *msg, const char *file, int line)
{
QTEST_ASSERT(msg);
QTEST_ASSERT(file);
++QTest::skips;

View File

@ -164,15 +164,14 @@ static void clearExpectFail()
void QTestResult::finishedCurrentTestData()
{
if (QTest::expectFailMode) {
addFailure("QEXPECT_FAIL was called without any subsequent verification statements",
"Unknown File", 0);
}
if (QTest::expectFailMode)
addFailure("QEXPECT_FAIL was called without any subsequent verification statements");
clearExpectFail();
if (!QTest::hasFailed() && QTestLog::unhandledIgnoreMessages()) {
QTestLog::printUnhandledIgnoreMessages();
addFailure("Not all expected messages were received", "Unknown File", 0);
addFailure("Not all expected messages were received");
}
QTestLog::clearIgnoreMessages();
}

View File

@ -77,7 +77,7 @@ public:
static void reset();
static void setBlacklistCurrentTest(bool b);
static void addFailure(const char *message, const char *file, int line);
static void addFailure(const char *message, const char *file = nullptr, int line = 0);
static bool compare(bool success, const char *failureMsg,
char *val1, char *val2,
const char *actual, const char *expected,

View File

@ -126,6 +126,9 @@ if(TARGET Qt::Gui)
)
endif()
# Ensure uniform location info between release and debug builds
add_definitions(-DQT_MESSAGELOGCONTEXT)
foreach(subprogram IN LISTS subprograms)
add_subdirectory(${subprogram})
endforeach()

View File

@ -15,7 +15,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[ASSERT: "false" in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -6,8 +6,8 @@ ok 2 - testNumber1()
not ok 3 - testNumber2()
---
# Received a fatal error.
at: tst_Assert::testNumber2() (Unknown file:0)
file: Unknown file
at: tst_Assert::testNumber2() (qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp:0)
file: qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp
line: 0
...
1..3

View File

@ -4,7 +4,7 @@
##teamcity[testStarted name='testNumber1()' flowId='tst_Assert']
##teamcity[testFinished name='testNumber1()' flowId='tst_Assert']
##teamcity[testStarted name='testNumber2()' flowId='tst_Assert']
##teamcity[testFailed name='testNumber2()' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_Assert']
##teamcity[testFailed name='testNumber2()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp(0)|]' details='Received a fatal error.' flowId='tst_Assert']
##teamcity[testStdOut name='testNumber2()' out='QFATAL: ASSERT: "false" in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0' flowId='tst_Assert']
##teamcity[testFinished name='testNumber2()' flowId='tst_Assert']
##teamcity[testSuiteFinished name='tst_Assert' flowId='tst_Assert']

View File

@ -4,6 +4,6 @@ PASS : tst_Assert::initTestCase()
PASS : tst_Assert::testNumber1()
QFATAL : tst_Assert::testNumber2() ASSERT: "false" in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0
FAIL! : tst_Assert::testNumber2() Received a fatal error.
Loc: [Unknown file(0)]
Loc: [qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp(0)]
Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_Assert *********

View File

@ -17,7 +17,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[ASSERT: "false" in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -58,7 +58,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[This is a fatal error message that should still appear in silent test output]]></Description>
</Message>
<Incident type="bfail" file="Unknown file" line="0">
<Incident type="bfail" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -34,8 +34,8 @@ ok 7 - xpass() # TODO 'true' returned TRUE unexpectedly. (This test should BXPAS
not ok 8 - messages() # TODO Received a fatal error.
---
# Received a fatal error.
at: tst_Blacklisted::messages() (Unknown file:0)
file: Unknown file
at: tst_Blacklisted::messages() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0)
file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
line: 0
...
1..8

View File

@ -21,6 +21,6 @@ INFO : tst_Blacklisted::messages() This is an internal testlib info message th
Loc: [qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)]
QFATAL : tst_Blacklisted::messages() This is a fatal error message that should still appear in silent test output
BFAIL : tst_Blacklisted::messages() Received a fatal error.
Loc: [Unknown file(0)]
Loc: [qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)]
Totals: 1 passed, 0 failed, 1 skipped, 6 blacklisted, 0ms
********* Finished testing of tst_Blacklisted *********

View File

@ -60,7 +60,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[This is a fatal error message that should still appear in silent test output]]></Description>
</Message>
<Incident type="bfail" file="Unknown file" line="0">
<Incident type="bfail" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -4,6 +4,5 @@ PASS : tst_Crashes::initTestCase()
QFATAL : tst_Crashes::crash() Received signal 11
Function time: ms Total time: ms
FAIL! : tst_Crashes::crash() Received a fatal error.
Loc: [Unknown file(0)]
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of tst_Crashes *********

View File

@ -4,4 +4,3 @@ PASS : tst_Crashes::initTestCase()
QFATAL : tst_Crashes::crash() Received signal 11
Function time: ms Total time: ms
FAIL! : tst_Crashes::crash() Received a fatal error.
Loc: [Unknown file(0)]

View File

@ -116,11 +116,11 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="xfailWithoutVerify">
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[first row]]></DataTag>
<Description><![CDATA[QEXPECT_FAIL was called without any subsequent verification statements]]></Description>
</Incident>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[second row]]></DataTag>
<Description><![CDATA[QEXPECT_FAIL was called without any subsequent verification statements]]></Description>
</Incident>

View File

@ -79,16 +79,10 @@ not ok 16 - xfailOnAnyRow(second row) # TODO This test should xfail
not ok 17 - xfailWithoutVerify(first row)
---
# QEXPECT_FAIL was called without any subsequent verification statements
at: tst_ExpectFail::xfailWithoutVerify() (Unknown File:0)
file: Unknown File
line: 0
...
not ok 18 - xfailWithoutVerify(second row)
---
# QEXPECT_FAIL was called without any subsequent verification statements
at: tst_ExpectFail::xfailWithoutVerify() (Unknown File:0)
file: Unknown File
line: 0
...
ok 19 - xpass() # TODO 'true' returned TRUE unexpectedly. ()
ok 20 - xpassDataDrivenWithQVerify(XPass) # TODO 'true' returned TRUE unexpectedly. ()

View File

@ -42,10 +42,10 @@
##teamcity[testStdOut name='xfailOnAnyRow(second row)' out='XFAIL |[Loc: qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(0)|]: This test should xfail' flowId='tst_ExpectFail']
##teamcity[testFinished name='xfailOnAnyRow(second row)' flowId='tst_ExpectFail']
##teamcity[testStarted name='xfailWithoutVerify(first row)' flowId='tst_ExpectFail']
##teamcity[testFailed name='xfailWithoutVerify(first row)' message='Failure! |[Loc: Unknown File(0)|]' details='QEXPECT_FAIL was called without any subsequent verification statements' flowId='tst_ExpectFail']
##teamcity[testFailed name='xfailWithoutVerify(first row)' message='Failure!' details='QEXPECT_FAIL was called without any subsequent verification statements' flowId='tst_ExpectFail']
##teamcity[testFinished name='xfailWithoutVerify(first row)' flowId='tst_ExpectFail']
##teamcity[testStarted name='xfailWithoutVerify(second row)' flowId='tst_ExpectFail']
##teamcity[testFailed name='xfailWithoutVerify(second row)' message='Failure! |[Loc: Unknown File(0)|]' details='QEXPECT_FAIL was called without any subsequent verification statements' flowId='tst_ExpectFail']
##teamcity[testFailed name='xfailWithoutVerify(second row)' message='Failure!' details='QEXPECT_FAIL was called without any subsequent verification statements' flowId='tst_ExpectFail']
##teamcity[testFinished name='xfailWithoutVerify(second row)' flowId='tst_ExpectFail']
##teamcity[testStarted name='xpass()' flowId='tst_ExpectFail']
##teamcity[testFailed name='xpass()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(0)|]' details='|'true|' returned TRUE unexpectedly. ()' flowId='tst_ExpectFail']

View File

@ -41,9 +41,7 @@ XFAIL : tst_ExpectFail::xfailOnAnyRow(second row) This test should xfail
Loc: [qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(0)]
PASS : tst_ExpectFail::xfailOnAnyRow(second row)
FAIL! : tst_ExpectFail::xfailWithoutVerify(first row) QEXPECT_FAIL was called without any subsequent verification statements
Loc: [Unknown File(0)]
FAIL! : tst_ExpectFail::xfailWithoutVerify(second row) QEXPECT_FAIL was called without any subsequent verification statements
Loc: [Unknown File(0)]
XPASS : tst_ExpectFail::xpass() 'true' returned TRUE unexpectedly. ()
Loc: [qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(0)]
XPASS : tst_ExpectFail::xpassDataDrivenWithQVerify(XPass) 'true' returned TRUE unexpectedly. ()

View File

@ -118,11 +118,11 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="xfailWithoutVerify">
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[first row]]></DataTag>
<Description><![CDATA[QEXPECT_FAIL was called without any subsequent verification statements]]></Description>
</Incident>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[second row]]></DataTag>
<Description><![CDATA[QEXPECT_FAIL was called without any subsequent verification statements]]></Description>
</Incident>

View File

@ -14,7 +14,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="qtbase/src/testlib/qtestdata.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -6,8 +6,8 @@ ok 1 - initTestCase()
not ok 2 - value()
---
# Received a fatal error.
at: tst_FailDataType::value() (Unknown file:0)
file: Unknown file
at: tst_FailDataType::value() (qtbase/src/testlib/qtestdata.cpp:0)
file: qtbase/src/testlib/qtestdata.cpp
line: 0
...
1..2

View File

@ -2,7 +2,7 @@
##teamcity[testStarted name='initTestCase()' flowId='tst_FailDataType']
##teamcity[testFinished name='initTestCase()' flowId='tst_FailDataType']
##teamcity[testStarted name='value()' flowId='tst_FailDataType']
##teamcity[testFailed name='value()' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_FailDataType']
##teamcity[testFailed name='value()' message='Failure! |[Loc: qtbase/src/testlib/qtestdata.cpp(0)|]' details='Received a fatal error.' flowId='tst_FailDataType']
##teamcity[testStdOut name='value()' out='QDEBUG: expected data of type |'QString|', got |'bool|' for element 0 of data with tag |'bool-as-string|'|nQFATAL: ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0' flowId='tst_FailDataType']
##teamcity[testFinished name='value()' flowId='tst_FailDataType']
##teamcity[testSuiteFinished name='tst_FailDataType' flowId='tst_FailDataType']

View File

@ -4,6 +4,6 @@ PASS : tst_FailDataType::initTestCase()
QDEBUG : tst_FailDataType::value() expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string'
QFATAL : tst_FailDataType::value() ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0
FAIL! : tst_FailDataType::value() Received a fatal error.
Loc: [Unknown file(0)]
Loc: [qtbase/src/testlib/qtestdata.cpp(0)]
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_FailDataType *********

View File

@ -16,7 +16,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="qtbase/src/testlib/qtestdata.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -12,7 +12,7 @@
<DataTag><![CDATA[bool]]></DataTag>
<Description><![CDATA[Requested type 'QString' does not match available type 'bool'.]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[bool]]></DataTag>
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>

View File

@ -5,9 +5,6 @@ ok 1 - initTestCase()
not ok 2 - fetch(bool)
---
# Received a fatal error.
at: tst_FailFetchType::fetch() (Unknown file:0)
file: Unknown file
line: 0
...
1..2
# tests 2

View File

@ -2,7 +2,7 @@
##teamcity[testStarted name='initTestCase()' flowId='tst_FailFetchType']
##teamcity[testFinished name='initTestCase()' flowId='tst_FailFetchType']
##teamcity[testStarted name='fetch(bool)' flowId='tst_FailFetchType']
##teamcity[testFailed name='fetch(bool)' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_FailFetchType']
##teamcity[testFailed name='fetch(bool)' message='Failure!' details='Received a fatal error.' flowId='tst_FailFetchType']
##teamcity[testStdOut name='fetch(bool)' out='QFATAL: Requested type |'QString|' does not match available type |'bool|'.' flowId='tst_FailFetchType']
##teamcity[testFinished name='fetch(bool)' flowId='tst_FailFetchType']
##teamcity[testSuiteFinished name='tst_FailFetchType' flowId='tst_FailFetchType']

View File

@ -3,6 +3,5 @@ Config: Using QtTest library
PASS : tst_FailFetchType::initTestCase()
QFATAL : tst_FailFetchType::fetch(bool) Requested type 'QString' does not match available type 'bool'.
FAIL! : tst_FailFetchType::fetch(bool) Received a fatal error.
Loc: [Unknown file(0)]
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_FailFetchType *********

View File

@ -14,7 +14,7 @@
<DataTag><![CDATA[bool]]></DataTag>
<Description><![CDATA[Requested type 'QString' does not match available type 'bool'.]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[bool]]></DataTag>
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>

View File

@ -12,7 +12,7 @@
<DataTag><![CDATA[foo]]></DataTag>
<Description><![CDATA[QFETCH: Requested testdata 'bubu' not available, check your _data function.]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[foo]]></DataTag>
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>

View File

@ -5,9 +5,6 @@ ok 1 - initTestCase()
not ok 2 - fetchBogus(foo)
---
# Received a fatal error.
at: tst_FetchBogus::fetchBogus() (Unknown file:0)
file: Unknown file
line: 0
...
1..2
# tests 2

View File

@ -2,7 +2,7 @@
##teamcity[testStarted name='initTestCase()' flowId='tst_FetchBogus']
##teamcity[testFinished name='initTestCase()' flowId='tst_FetchBogus']
##teamcity[testStarted name='fetchBogus(foo)' flowId='tst_FetchBogus']
##teamcity[testFailed name='fetchBogus(foo)' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_FetchBogus']
##teamcity[testFailed name='fetchBogus(foo)' message='Failure!' details='Received a fatal error.' flowId='tst_FetchBogus']
##teamcity[testStdOut name='fetchBogus(foo)' out='QFATAL: QFETCH: Requested testdata |'bubu|' not available, check your _data function.' flowId='tst_FetchBogus']
##teamcity[testFinished name='fetchBogus(foo)' flowId='tst_FetchBogus']
##teamcity[testSuiteFinished name='tst_FetchBogus' flowId='tst_FetchBogus']

View File

@ -3,6 +3,5 @@ Config: Using QtTest library
PASS : tst_FetchBogus::initTestCase()
QFATAL : tst_FetchBogus::fetchBogus(foo) QFETCH: Requested testdata 'bubu' not available, check your _data function.
FAIL! : tst_FetchBogus::fetchBogus(foo) Received a fatal error.
Loc: [Unknown file(0)]
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_FetchBogus *********

View File

@ -14,7 +14,7 @@
<DataTag><![CDATA[foo]]></DataTag>
<Description><![CDATA[QFETCH: Requested testdata 'bubu' not available, check your _data function.]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[foo]]></DataTag>
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>

View File

@ -58,7 +58,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[This is a fatal error message that should still appear in silent test output]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -32,8 +32,8 @@ ok 6 - xpass() # TODO 'true' returned TRUE unexpectedly. (This test should XPASS
not ok 7 - messages()
---
# Received a fatal error.
at: tst_Silent::messages() (Unknown file:0)
file: Unknown file
at: tst_Silent::messages() (qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp:0)
file: qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp
line: 0
...
1..7

View File

@ -6,7 +6,7 @@
##teamcity[testFailed name='xpass()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp(0)|]' details='|'true|' returned TRUE unexpectedly. (This test should XPASS)' flowId='tst_Silent']
##teamcity[testFinished name='xpass()' flowId='tst_Silent']
##teamcity[testStarted name='messages()' flowId='tst_Silent']
##teamcity[testFailed name='messages()' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_Silent']
##teamcity[testFailed name='messages()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp(0)|]' details='Received a fatal error.' flowId='tst_Silent']
##teamcity[testStdOut name='messages()' out='QFATAL: This is a fatal error message that should still appear in silent test output' flowId='tst_Silent']
##teamcity[testFinished name='messages()' flowId='tst_Silent']
##teamcity[testSuiteFinished name='tst_Silent' flowId='tst_Silent']

View File

@ -5,5 +5,5 @@ XPASS : tst_Silent::xpass() 'true' returned TRUE unexpectedly. (This test shoul
Loc: [qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp(0)]
QFATAL : tst_Silent::messages() This is a fatal error message that should still appear in silent test output
FAIL! : tst_Silent::messages() Received a fatal error.
Loc: [Unknown file(0)]
Loc: [qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp(0)]
Totals: 3 passed, 3 failed, 1 skipped, 0 blacklisted, 0ms

View File

@ -60,7 +60,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[This is a fatal error message that should still appear in silent test output]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -48,7 +48,7 @@
<Message type="info" file="" line="0">
<Description><![CDATA[Did not receive message: "Warning1"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>
<Duration msecs="0"/>
@ -57,7 +57,7 @@
<Message type="info" file="" line="0">
<Description><![CDATA[Did not receive any message matching: "Warning\s\d"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>
<Duration msecs="0"/>
@ -71,7 +71,7 @@
<DataTag><![CDATA[first row]]></DataTag>
<Description><![CDATA[Did not receive message: "Warning1"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[first row]]></DataTag>
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>
@ -83,7 +83,7 @@
<DataTag><![CDATA[second row]]></DataTag>
<Description><![CDATA[Did not receive message: "Warning1"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[second row]]></DataTag>
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>

View File

@ -17,35 +17,23 @@ ok 2 - testWarnings()
not ok 3 - testMissingWarnings()
---
# Not all expected messages were received
at: tst_Warnings::testMissingWarnings() (Unknown File:0)
file: Unknown File
line: 0
...
# Did not receive any message matching: "Warning\s\d"
not ok 4 - testMissingWarningsRegularExpression()
---
# Not all expected messages were received
at: tst_Warnings::testMissingWarningsRegularExpression() (Unknown File:0)
file: Unknown File
line: 0
...
# Did not receive message: "Warning0"
# Did not receive message: "Warning1"
not ok 5 - testMissingWarningsWithData(first row)
---
# Not all expected messages were received
at: tst_Warnings::testMissingWarningsWithData() (Unknown File:0)
file: Unknown File
line: 0
...
# Did not receive message: "Warning0"
# Did not receive message: "Warning1"
not ok 6 - testMissingWarningsWithData(second row)
---
# Not all expected messages were received
at: tst_Warnings::testMissingWarningsWithData() (Unknown File:0)
file: Unknown File
line: 0
...
ok 7 - cleanupTestCase()
1..7

View File

@ -5,19 +5,19 @@
##teamcity[testStdOut name='testWarnings()' out='QWARN: Warning|nQWARN: Warning|nQDEBUG: Debug|nQDEBUG: Debug|nQINFO: Info|nQINFO: Info|nQDEBUG: Baba|nQDEBUG: Baba|nQDEBUG: Bubublabla|nQWARN: Babablabla' flowId='tst_Warnings']
##teamcity[testFinished name='testWarnings()' flowId='tst_Warnings']
##teamcity[testStarted name='testMissingWarnings()' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarnings()' message='Failure! |[Loc: Unknown File(0)|]' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarnings()' message='Failure!' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testStdOut name='testMissingWarnings()' out='INFO: Did not receive message: "Warning0"|nINFO: Did not receive message: "Warning1"' flowId='tst_Warnings']
##teamcity[testFinished name='testMissingWarnings()' flowId='tst_Warnings']
##teamcity[testStarted name='testMissingWarningsRegularExpression()' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarningsRegularExpression()' message='Failure! |[Loc: Unknown File(0)|]' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarningsRegularExpression()' message='Failure!' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testStdOut name='testMissingWarningsRegularExpression()' out='INFO: Did not receive any message matching: "Warning\s\d"' flowId='tst_Warnings']
##teamcity[testFinished name='testMissingWarningsRegularExpression()' flowId='tst_Warnings']
##teamcity[testStarted name='testMissingWarningsWithData(first row)' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarningsWithData(first row)' message='Failure! |[Loc: Unknown File(0)|]' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarningsWithData(first row)' message='Failure!' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testStdOut name='testMissingWarningsWithData(first row)' out='INFO: Did not receive message: "Warning0"|nINFO: Did not receive message: "Warning1"' flowId='tst_Warnings']
##teamcity[testFinished name='testMissingWarningsWithData(first row)' flowId='tst_Warnings']
##teamcity[testStarted name='testMissingWarningsWithData(second row)' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarningsWithData(second row)' message='Failure! |[Loc: Unknown File(0)|]' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testFailed name='testMissingWarningsWithData(second row)' message='Failure!' details='Not all expected messages were received' flowId='tst_Warnings']
##teamcity[testStdOut name='testMissingWarningsWithData(second row)' out='INFO: Did not receive message: "Warning0"|nINFO: Did not receive message: "Warning1"' flowId='tst_Warnings']
##teamcity[testFinished name='testMissingWarningsWithData(second row)' flowId='tst_Warnings']
##teamcity[testStarted name='cleanupTestCase()' flowId='tst_Warnings']

View File

@ -15,18 +15,14 @@ PASS : tst_Warnings::testWarnings()
INFO : tst_Warnings::testMissingWarnings() Did not receive message: "Warning0"
INFO : tst_Warnings::testMissingWarnings() Did not receive message: "Warning1"
FAIL! : tst_Warnings::testMissingWarnings() Not all expected messages were received
Loc: [Unknown File(0)]
INFO : tst_Warnings::testMissingWarningsRegularExpression() Did not receive any message matching: "Warning\s\d"
FAIL! : tst_Warnings::testMissingWarningsRegularExpression() Not all expected messages were received
Loc: [Unknown File(0)]
INFO : tst_Warnings::testMissingWarningsWithData(first row) Did not receive message: "Warning0"
INFO : tst_Warnings::testMissingWarningsWithData(first row) Did not receive message: "Warning1"
FAIL! : tst_Warnings::testMissingWarningsWithData(first row) Not all expected messages were received
Loc: [Unknown File(0)]
INFO : tst_Warnings::testMissingWarningsWithData(second row) Did not receive message: "Warning0"
INFO : tst_Warnings::testMissingWarningsWithData(second row) Did not receive message: "Warning1"
FAIL! : tst_Warnings::testMissingWarningsWithData(second row) Not all expected messages were received
Loc: [Unknown File(0)]
PASS : tst_Warnings::cleanupTestCase()
Totals: 3 passed, 4 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_Warnings *********

View File

@ -50,7 +50,7 @@
<Message type="info" file="" line="0">
<Description><![CDATA[Did not receive message: "Warning1"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>
<Duration msecs="0"/>
@ -59,7 +59,7 @@
<Message type="info" file="" line="0">
<Description><![CDATA[Did not receive any message matching: "Warning\s\d"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>
<Duration msecs="0"/>
@ -73,7 +73,7 @@
<DataTag><![CDATA[first row]]></DataTag>
<Description><![CDATA[Did not receive message: "Warning1"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[first row]]></DataTag>
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>
@ -85,7 +85,7 @@
<DataTag><![CDATA[second row]]></DataTag>
<Description><![CDATA[Did not receive message: "Warning1"]]></Description>
</Message>
<Incident type="fail" file="Unknown File" line="0">
<Incident type="fail" file="" line="0">
<DataTag><![CDATA[second row]]></DataTag>
<Description><![CDATA[Not all expected messages were received]]></Description>
</Incident>

View File

@ -11,7 +11,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[Test function timed out]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>

View File

@ -5,9 +5,6 @@ ok 1 - initTestCase()
not ok 2 - delay()
---
# Received a fatal error.
at: tst_Watchdog::delay() (Unknown file:0)
file: Unknown file
line: 0
...
1..2
# tests 2

View File

@ -2,7 +2,7 @@
##teamcity[testStarted name='initTestCase()' flowId='tst_Watchdog']
##teamcity[testFinished name='initTestCase()' flowId='tst_Watchdog']
##teamcity[testStarted name='delay()' flowId='tst_Watchdog']
##teamcity[testFailed name='delay()' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_Watchdog']
##teamcity[testFailed name='delay()' message='Failure!' details='Received a fatal error.' flowId='tst_Watchdog']
##teamcity[testStdOut name='delay()' out='QFATAL: Test function timed out' flowId='tst_Watchdog']
##teamcity[testFinished name='delay()' flowId='tst_Watchdog']
##teamcity[testSuiteFinished name='tst_Watchdog' flowId='tst_Watchdog']

View File

@ -3,6 +3,5 @@ Config: Using QtTest library
PASS : tst_Watchdog::initTestCase()
QFATAL : tst_Watchdog::delay() Test function timed out
FAIL! : tst_Watchdog::delay() Received a fatal error.
Loc: [Unknown file(0)]
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_Watchdog *********

View File

@ -13,7 +13,7 @@
<Message type="qfatal" file="" line="0">
<Description><![CDATA[Test function timed out]]></Description>
</Message>
<Incident type="fail" file="Unknown file" line="0">
<Incident type="fail" file="" line="0">
<Description><![CDATA[Received a fatal error.]]></Description>
</Incident>
<Duration msecs="0"/>