diff options
Diffstat (limited to 'tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp')
-rw-r--r-- | tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp b/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp index 1fa3711990..3a000ba182 100644 --- a/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp +++ b/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp @@ -61,6 +61,8 @@ private slots: void xfailOnAnyRow_data() const; void xfailOnAnyRow() const; void xpass() const; + void xpassDataDriven_data() const; + void xpassDataDriven() const; }; void tst_ExpectFail::xfailAndContinue() const @@ -176,5 +178,26 @@ void tst_ExpectFail::xpass() const QVERIFY2(false, "This should not be reached"); } +void tst_ExpectFail::xpassDataDriven_data() const +{ + QTest::addColumn<bool>("shouldXPass"); + + QTest::newRow("XPass") << true; + QTest::newRow("Pass") << false; +} + +void tst_ExpectFail::xpassDataDriven() const +{ + QFETCH(bool, shouldXPass); + + if (shouldXPass) + QEXPECT_FAIL(QTest::currentDataTag(), "This test should xpass", Abort); + + QVERIFY(true); + + // We should only get here if the test wasn't supposed to xpass. + QVERIFY2(!shouldXPass, "Test failed to terminate on XPASS"); +} + QTEST_MAIN(tst_ExpectFail) #include "tst_expectfail.moc" |