Improve coverage of expectfail selftest
Add a test case for calling QEXPECT_FAIL in a data-driven test without passing a specific data tag for the expected failure, in which the expected failure should apply to the current data row. Change-Id: I70a6592de77b1718c3a749fd2216e66f8f312805 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>bb10
parent
3dfdf34c1c
commit
0528d9dca7
|
|
@ -9,7 +9,7 @@
|
|||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[begin]]></Description>
|
||||
</Message>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="68">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="70">
|
||||
<Description><![CDATA[This should xfail]]></Description>
|
||||
</Incident>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
|
|
@ -21,36 +21,36 @@
|
|||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[begin]]></Description>
|
||||
</Message>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="76">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="78">
|
||||
<Description><![CDATA[This should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="expectTwice">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="85">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="87">
|
||||
<Description><![CDATA[Already expecting a fail]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="xfailWithQString">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="95">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="97">
|
||||
<Description><![CDATA[A string]]></Description>
|
||||
</Incident>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="100">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="102">
|
||||
<Description><![CDATA[Bug 5 (The message)]]></Description>
|
||||
</Incident>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="xpass">
|
||||
<Incident type="xpass" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="106">
|
||||
<Incident type="xpass" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="108">
|
||||
<Description><![CDATA['true' returned FALSE. ()]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="dataDrivenTest">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="139">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="141">
|
||||
<DataTag><![CDATA[Abort]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="139">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="141">
|
||||
<DataTag><![CDATA[Continue]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
|
|
@ -59,6 +59,17 @@
|
|||
<TestFunction name="expectOnWrongRow">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="expectOnAnyRow">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="176">
|
||||
<DataTag><![CDATA[first row]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="176">
|
||||
<DataTag><![CDATA[second row]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="cleanupTestCase">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
|
|
|
|||
|
|
@ -3,28 +3,33 @@ Config: Using QTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE
|
|||
PASS : tst_ExpectFail::initTestCase()
|
||||
QDEBUG : tst_ExpectFail::expectAndContinue() begin
|
||||
XFAIL : tst_ExpectFail::expectAndContinue() This should xfail
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(68)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(70)]
|
||||
QDEBUG : tst_ExpectFail::expectAndContinue() after
|
||||
PASS : tst_ExpectFail::expectAndContinue()
|
||||
QDEBUG : tst_ExpectFail::expectAndAbort() begin
|
||||
XFAIL : tst_ExpectFail::expectAndAbort() This should xfail
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(76)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(78)]
|
||||
PASS : tst_ExpectFail::expectAndAbort()
|
||||
FAIL! : tst_ExpectFail::expectTwice() Already expecting a fail
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(85)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(87)]
|
||||
XFAIL : tst_ExpectFail::xfailWithQString() A string
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(95)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(97)]
|
||||
XFAIL : tst_ExpectFail::xfailWithQString() Bug 5 (The message)
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(100)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(102)]
|
||||
PASS : tst_ExpectFail::xfailWithQString()
|
||||
XPASS : tst_ExpectFail::xpass() 'true' returned FALSE. ()
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(106)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(108)]
|
||||
XFAIL : tst_ExpectFail::dataDrivenTest(Abort) This test should xfail
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(139)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(141)]
|
||||
XFAIL : tst_ExpectFail::dataDrivenTest(Continue) This test should xfail
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(139)]
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(141)]
|
||||
PASS : tst_ExpectFail::dataDrivenTest()
|
||||
PASS : tst_ExpectFail::expectOnWrongRow()
|
||||
XFAIL : tst_ExpectFail::expectOnAnyRow(first row) This test should xfail
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(176)]
|
||||
XFAIL : tst_ExpectFail::expectOnAnyRow(second row) This test should xfail
|
||||
Loc: [/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp(176)]
|
||||
PASS : tst_ExpectFail::expectOnAnyRow()
|
||||
PASS : tst_ExpectFail::cleanupTestCase()
|
||||
Totals: 7 passed, 2 failed, 0 skipped
|
||||
Totals: 8 passed, 2 failed, 0 skipped
|
||||
********* Finished testing of tst_ExpectFail *********
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[begin]]></Description>
|
||||
</Message>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="68">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="70">
|
||||
<Description><![CDATA[This should xfail]]></Description>
|
||||
</Incident>
|
||||
<Message type="qdebug" file="" line="0">
|
||||
|
|
@ -23,36 +23,36 @@
|
|||
<Message type="qdebug" file="" line="0">
|
||||
<Description><![CDATA[begin]]></Description>
|
||||
</Message>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="76">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="78">
|
||||
<Description><![CDATA[This should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="expectTwice">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="85">
|
||||
<Incident type="fail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="87">
|
||||
<Description><![CDATA[Already expecting a fail]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="xfailWithQString">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="95">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="97">
|
||||
<Description><![CDATA[A string]]></Description>
|
||||
</Incident>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="100">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="102">
|
||||
<Description><![CDATA[Bug 5 (The message)]]></Description>
|
||||
</Incident>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="xpass">
|
||||
<Incident type="xpass" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="106">
|
||||
<Incident type="xpass" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="108">
|
||||
<Description><![CDATA['true' returned FALSE. ()]]></Description>
|
||||
</Incident>
|
||||
</TestFunction>
|
||||
<TestFunction name="dataDrivenTest">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="139">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="141">
|
||||
<DataTag><![CDATA[Abort]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="139">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="141">
|
||||
<DataTag><![CDATA[Continue]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
|
|
@ -61,6 +61,17 @@
|
|||
<TestFunction name="expectOnWrongRow">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="expectOnAnyRow">
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="176">
|
||||
<DataTag><![CDATA[first row]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="xfail" file="/home/user/dev/qt5/qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp" line="176">
|
||||
<DataTag><![CDATA[second row]]></DataTag>
|
||||
<Description><![CDATA[This test should xfail]]></Description>
|
||||
</Incident>
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
<TestFunction name="cleanupTestCase">
|
||||
<Incident type="pass" file="" line="0" />
|
||||
</TestFunction>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<testsuite errors="9" failures="2" tests="9" name="tst_ExpectFail">
|
||||
<testsuite errors="11" failures="2" tests="10" name="tst_ExpectFail">
|
||||
<properties>
|
||||
<property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
|
||||
<property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
|
||||
|
|
@ -29,6 +29,10 @@
|
|||
<!-- tag="Continue" message="This test should xfail" type="info" -->
|
||||
</testcase>
|
||||
<testcase result="pass" name="expectOnWrongRow"/>
|
||||
<testcase result="xfail" name="expectOnAnyRow">
|
||||
<!-- tag="first row" message="This test should xfail" type="info" -->
|
||||
<!-- tag="second row" message="This test should xfail" type="info" -->
|
||||
</testcase>
|
||||
<testcase result="pass" name="cleanupTestCase"/>
|
||||
<system-err>
|
||||
<![CDATA[begin]]>
|
||||
|
|
@ -39,6 +43,8 @@
|
|||
<![CDATA[A string]]>
|
||||
<![CDATA[Bug 5 (The message)]]>
|
||||
<![CDATA[This test should xfail]]>
|
||||
<![CDATA[This test should xfail]]>
|
||||
<![CDATA[This test should xfail]]>
|
||||
<![CDATA[This test should xfail]]>
|
||||
</system-err>
|
||||
</testsuite>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,8 @@ private slots:
|
|||
void dataDrivenTest() const;
|
||||
void expectOnWrongRow_data() const;
|
||||
void expectOnWrongRow() const;
|
||||
void expectOnAnyRow_data() const;
|
||||
void expectOnAnyRow() const;
|
||||
};
|
||||
|
||||
void tst_ExpectFail::expectAndContinue() const
|
||||
|
|
@ -158,5 +160,21 @@ void tst_ExpectFail::expectOnWrongRow() const
|
|||
QVERIFY(true);
|
||||
}
|
||||
|
||||
void tst_ExpectFail::expectOnAnyRow_data() const
|
||||
{
|
||||
QTest::addColumn<int>("dummy");
|
||||
|
||||
QTest::newRow("first row") << 0;
|
||||
QTest::newRow("second row") << 1;
|
||||
}
|
||||
|
||||
void tst_ExpectFail::expectOnAnyRow() const
|
||||
{
|
||||
// In a data-driven test, passing an empty first parameter to QEXPECT_FAIL
|
||||
// should mean that the failure is expected for all data rows.
|
||||
QEXPECT_FAIL("", "This test should xfail", Abort);
|
||||
QVERIFY(false);
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_ExpectFail)
|
||||
#include "tst_expectfail.moc"
|
||||
|
|
|
|||
Loading…
Reference in New Issue