summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestresult.cpp
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2019-01-15 09:58:34 +0100
committerTony Sarajärvi <tony.sarajarvi@qt.io>2019-01-29 12:18:15 +0000
commit9906cc57ed3eed64d534f43c677bb16e08561bb6 (patch)
tree93203141f6d7731455e3f89f88f0387893b12be1 /src/testlib/qtestresult.cpp
parent3615e8aaa158cc88edf539a2252f96a8c635b4cd (diff)
testlib: Add BXPASS and BXFAIL
Prioritize blacklisting over QEXPECT_FAIL so that a test that is blacklisted no longer fails if QEXPECT_FAIL returns true unexpectedly. To reflect this state properly, the two values of BXPASS and BXFAIL were added to testlib's output. [ChangeLog][Important Behavior Changes][QtTestLib] Blacklisting of tests will be taken into account for XPASS and XFAIL. A blacklisted test that causes an XPASS will no longer be a fail. Task-number: QTBUG-72928 Change-Id: Ia2232fdc714d405fa3fd9aea6c89eb2836bc5950 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/testlib/qtestresult.cpp')
-rw-r--r--src/testlib/qtestresult.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/testlib/qtestresult.cpp b/src/testlib/qtestresult.cpp
index 88e3407c90..a7a4807e06 100644
--- a/src/testlib/qtestresult.cpp
+++ b/src/testlib/qtestresult.cpp
@@ -218,17 +218,24 @@ static bool checkStatement(bool statement, const char *msg, const char *file, in
{
if (statement) {
if (QTest::expectFailMode) {
- QTestLog::addXPass(msg, file, line);
+ if (QTest::blacklistCurrentTest)
+ QTestLog::addBXPass(msg, file, line);
+ else
+ QTestLog::addXPass(msg, file, line);
+
+ QTest::failed = true;
bool doContinue = (QTest::expectFailMode == QTest::Continue);
clearExpectFail();
- QTest::failed = true;
return doContinue;
}
return true;
}
if (QTest::expectFailMode) {
- QTestLog::addXFail(QTest::expectFailComment, file, line);
+ if (QTest::blacklistCurrentTest)
+ QTestLog::addBXFail(QTest::expectFailComment, file, line);
+ else
+ QTestLog::addXFail(QTest::expectFailComment, file, line);
bool doContinue = (QTest::expectFailMode == QTest::Continue);
clearExpectFail();
return doContinue;