qt5base-lts/tests/auto/testlib/selftests/expected_warnings.junitxml
Mitch Curtis efb283fb7f Add QTest::failOnWarning
This solves the long-standing problem of not being able to easily
fail a test when a certain warning is output.

[ChangeLog][QtTest] Added QTest::failOnWarning. When called in a test
function, any warning that matches the given pattern will cause a test
failure. The test will continue execution when a failure is added.
All patterns are cleared at the end of each test function.

Fixes: QTBUG-70029
Change-Id: I5763f8d4acf1cee8178be43a503619fbfb0f4f36
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-11-26 04:47:24 +01:00

112 lines
4.6 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<testsuite name="tst_Warnings" timestamp="@TEST_START_TIME@" hostname="@HOSTNAME@" tests="15" failures="10" errors="0" skipped="1" time="@TEST_DURATION@">
<properties>
<property name="QTestVersion" value="@INSERT_QT_VERSION_HERE@"/>
<property name="QtVersion" value="@INSERT_QT_VERSION_HERE@"/>
<property name="QtBuild" value=""/>
</properties>
<testcase name="initTestCase" classname="tst_Warnings" time="@TEST_DURATION@"/>
<testcase name="testWarnings" classname="tst_Warnings" time="@TEST_DURATION@">
<system-out>
<![CDATA[Debug]]>
<![CDATA[Debug]]>
<![CDATA[Info]]>
<![CDATA[Info]]>
<![CDATA[Baba]]>
<![CDATA[Baba]]>
<![CDATA[Bubublabla]]>
</system-out>
<system-err>
<![CDATA[Warning]]>
<![CDATA[Warning]]>
<![CDATA[Babablabla]]>
</system-err>
</testcase>
<testcase name="testMissingWarnings" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Not all expected messages were received"/>
<system-out>
<![CDATA[Did not receive message: "Warning0"]]>
<![CDATA[Did not receive message: "Warning1"]]>
</system-out>
</testcase>
<testcase name="testMissingWarningsRegularExpression" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Not all expected messages were received"/>
<system-out>
<![CDATA[Did not receive any message matching: "Warning\s\d"]]>
</system-out>
</testcase>
<testcase name="testMissingWarningsWithData(first row)" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Not all expected messages were received"/>
<system-out>
<![CDATA[Did not receive message: "Warning0"]]>
<![CDATA[Did not receive message: "Warning1"]]>
</system-out>
</testcase>
<testcase name="testMissingWarningsWithData(second row)" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Not all expected messages were received"/>
<system-out>
<![CDATA[Did not receive message: "Warning0"]]>
<![CDATA[Did not receive message: "Warning1"]]>
</system-out>
</testcase>
<testcase name="testFailOnWarnings" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Received a warning that resulted in a failure:">
<![CDATA[Ran out of cabbage!]]>
</failure>
<system-out>
<![CDATA[Ran out of tortillas!]]>
<![CDATA[Ran out of oil!]]>
<![CDATA[Running low on toothpaste!]]>
<![CDATA[Running low on toothpaste!]]>
</system-out>
<system-err>
<![CDATA[Ran out of space!]]>
<![CDATA[nope]]>
<![CDATA[Running low on flour!]]>
</system-err>
</testcase>
<testcase name="testFailOnWarningsCleared" classname="tst_Warnings" time="@TEST_DURATION@">
<system-err>
<![CDATA[Ran out of muffins!]]>
</system-err>
</testcase>
<testcase name="testFailOnWarningsWithData(warning1)" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Received a warning that resulted in a failure:">
<![CDATA[warning1]]>
</failure>
<system-err>
<![CDATA[warning2]]>
<![CDATA[warning3]]>
</system-err>
</testcase>
<testcase name="testFailOnWarningsWithData(warning2)" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Received a warning that resulted in a failure:">
<![CDATA[warning2]]>
</failure>
<system-err>
<![CDATA[warning1]]>
<![CDATA[warning3]]>
</system-err>
</testcase>
<testcase name="testFailOnWarningsWithData(warning3)" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Received a warning that resulted in a failure:">
<![CDATA[warning3]]>
</failure>
<system-err>
<![CDATA[warning1]]>
<![CDATA[warning2]]>
</system-err>
</testcase>
<testcase name="testFailOnWarningsFailInHelper" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="This failure message should be printed but not cause the test to abort"/>
</testcase>
<testcase name="testFailOnWarningsThenSkip" classname="tst_Warnings" time="@TEST_DURATION@">
<failure type="fail" message="Received a warning that resulted in a failure:">
<![CDATA[Ran out of cabbage!]]>
</failure>
<skipped message="My cabbage! :("/>
</testcase>
<testcase name="testFailOnWarningsAndIgnoreWarnings" classname="tst_Warnings" time="@TEST_DURATION@"/>
<testcase name="cleanupTestCase" classname="tst_Warnings" time="@TEST_DURATION@"/>
</testsuite>