summaryrefslogtreecommitdiffstats
path: root/tests/auto/testlib/selftests/expected_assert.junitxml
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2021-07-29 09:59:59 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2021-08-05 03:58:49 +0200
commit973e74399e807fb6f351a7d330c8c8b85b66bc5a (patch)
treec0d678160b60df931c8ec8a150c5fcefcd1ee187 /tests/auto/testlib/selftests/expected_assert.junitxml
parent177d259782f228257a376e3e87b30da6ad96f3fb (diff)
testlib: Improve JUnit XML conformance
The JUnit test framework did not initially have any XML reporting facilities built in. Instead, the XML report was generated by the Apache Ant JUnit task: https://github.com/apache/ant/search?q=filename%3AXMLJUnitResultFormatter.java Many users interacted with these reports via the Jenkins JUnit plugin, which provided graphical visualization of the test results: https://plugins.jenkins.io/junit/ Due to the lack of an official XML schema for the Apache Ant JUnit report there was some confusion about what the actual format was. People started documenting the de-facto format, both as produced by Ant, and as consumed by Jenkins: https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd https://github.com/junit-team/junit5/search?q=filename%3Ajenkins-junit.xsd The XML produced by the Qt Test JUnit reporter was far from these schemas, causing issues when importing results into tools such as Jenkins, Allure2, or Test Center. The following changes have been made to improve conformance: - The 'timestamp' attribute on <testsuite> is is now in ISO 8601 local time, without any time zone specified - The 'hostname' attribute on <testsuite> is now included - The 'classname' attribute on <testcase> is now included - The non-standard 'result' attribute on <testcase> has been removed - The non-standard 'result' attribute on <failure> has been renamed to 'type' - The <system-out> element on <testsuite> is always included, even when empty - The non-standard 'tag' attribute on <failure> has been removed. Data-driven tests are now represented as individual <testcase> elements, e.g.: <testcase name="someTest(someData X)" ...> <testcase name="someTest(someData Y)" ...> <testcase name="someTest(someData Z)" ...> The resulting XML validates against both the de-facto Apache Ant 'JUnit 4' schema and the Jenkins JUnit plugin schema. Task-number: QTBUG-95424 Change-Id: I6fc9abedbfb319f2545b99b37d059b18c16776ff Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests/auto/testlib/selftests/expected_assert.junitxml')
-rw-r--r--tests/auto/testlib/selftests/expected_assert.junitxml11
1 files changed, 6 insertions, 5 deletions
diff --git a/tests/auto/testlib/selftests/expected_assert.junitxml b/tests/auto/testlib/selftests/expected_assert.junitxml
index 4905ec73c5..dbe35c0f7f 100644
--- a/tests/auto/testlib/selftests/expected_assert.junitxml
+++ b/tests/auto/testlib/selftests/expected_assert.junitxml
@@ -1,16 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite name="tst_Assert" timestamp="@TEST_START_TIME@" tests="3" failures="1" errors="1" time="@TEST_DURATION@">
+<testsuite name="tst_Assert" timestamp="@TEST_START_TIME@" hostname="@HOSTNAME@" tests="3" failures="1" errors="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" result="pass" time="@TEST_DURATION@"/>
- <testcase name="testNumber1" result="pass" time="@TEST_DURATION@"/>
- <testcase name="testNumber2" result="fail" time="@TEST_DURATION@">
+ <testcase name="initTestCase" classname="tst_Assert" time="@TEST_DURATION@"/>
+ <testcase name="testNumber1" classname="tst_Assert" time="@TEST_DURATION@"/>
+ <testcase name="testNumber2" classname="tst_Assert" time="@TEST_DURATION@">
<!-- type="qfatal" message="ASSERT: &quot;false&quot; in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0" -->
- <failure result="fail" message="Received a fatal error."/>
+ <failure type="fail" message="Received a fatal error."/>
</testcase>
+ <system-out/>
<system-err>
<![CDATA[ASSERT: "false" in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0]]>
</system-err>