diff options
Diffstat (limited to 'tests/auto/testlib/selftests/blacklisted')
-rw-r--r-- | tests/auto/testlib/selftests/blacklisted/BLACKLIST | 12 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp | 65 |
2 files changed, 76 insertions, 1 deletions
diff --git a/tests/auto/testlib/selftests/blacklisted/BLACKLIST b/tests/auto/testlib/selftests/blacklisted/BLACKLIST index d652129db3..edda648921 100644 --- a/tests/auto/testlib/selftests/blacklisted/BLACKLIST +++ b/tests/auto/testlib/selftests/blacklisted/BLACKLIST @@ -12,5 +12,17 @@ obscure # no such platform; is ignored [xfail] * +[xfailContinueSkip] +* + +[xfailContinueFail] +* + [xpass] * + +[xpassContinueSkip] +* + +[xpassContinueFail] +* diff --git a/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp b/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp index 0ac6ae19f4..cd7e529f92 100644 --- a/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp +++ b/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. @@ -35,41 +35,104 @@ class tst_Blacklisted : public QObject Q_OBJECT private slots: + void init(); + void cleanupTestCase(); void pass(); void skip(); void fail(); void xfail(); + void xfailContinueSkip(); + void xfailContinueFail(); void xpass(); + void xpassContinueSkip(); + void xpassContinueFail(); + +private: + int casesTested = 2; + // What the totals line's numbers *should* be: + int passed = 2, skipped = 0, blacklisted = 0; + // Total and passed get {init,cleanup}TestCase() in addition to the actual tests. }; +void tst_Blacklisted::init() +{ + ++casesTested; +} + +void tst_Blacklisted::cleanupTestCase() +{ + qDebug("Totals should add up to %d: %d passed, 0 failed, %d skipped, %d blacklisted", + casesTested, passed, skipped, blacklisted); +} + // All the tests below have been blacklisted in blacklisted/BLACKLIST void tst_Blacklisted::pass() { + ++blacklisted; + qDebug("This test should BPASS"); QVERIFY(true); } void tst_Blacklisted::skip() { + ++skipped; QSKIP("This test should SKIP"); } void tst_Blacklisted::fail() { + ++blacklisted; QVERIFY2(false, "This test should BFAIL"); } void tst_Blacklisted::xfail() { + ++blacklisted; QEXPECT_FAIL("", "This test should BXFAIL then BPASS", Abort); QVERIFY(false); } +void tst_Blacklisted::xfailContinueSkip() +{ + ++skipped; + QEXPECT_FAIL("", "This test should BXFAIL then SKIP", Continue); + QVERIFY(false); + QSKIP("This skip should be seen and counted"); +} + +void tst_Blacklisted::xfailContinueFail() +{ + ++blacklisted; + QEXPECT_FAIL("", "This test should BXFAIL then BFAIL", Continue); + QVERIFY(false); + QFAIL("This fail should be seen and counted as blacklisted"); +} + void tst_Blacklisted::xpass() { + ++blacklisted; QEXPECT_FAIL("", "This test should BXPASS", Abort); QVERIFY2(true, "This test should BXPASS"); } +void tst_Blacklisted::xpassContinueSkip() +{ + ++blacklisted; + QEXPECT_FAIL("", "This test should BXPASS then SKIP", Continue); + QVERIFY2(true, "This test should BXPASS then SKIP"); + // FIXME QTBUG-95661: skip gets counted + QSKIP("This skip should be seen but not counted"); +} + +void tst_Blacklisted::xpassContinueFail() +{ + ++blacklisted; + QEXPECT_FAIL("", "This test should BXPASS then BFAIL", Continue); + QVERIFY2(true, "This test should BXPASS then BFAIL"); + // FIXME QTBUG-95661: gets double-counted + QFAIL("This fail should be seen and not counted (due to prior XPASS)"); +} + QTEST_MAIN(tst_Blacklisted) #include "tst_blacklisted.moc" |