qt6-bb10/tests/auto/testlib/selftests
Tor Arne Vestbø 973e74399e 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>
2021-08-05 03:58:49 +02:00
..
assert Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
badxml Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
benchlibcallgrind Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
benchlibcounting Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
benchlibeventcounter Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
benchliboptions Fix compiler warnings from int/size_t mismatches 2021-04-28 06:48:43 +02:00
benchlibtickcounter Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
benchlibwalltime Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
blacklisted testlib: Deprecate QWARN() in favor of qWarning() 2021-08-04 19:31:51 +02:00
cmptest QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
commandlinedata Fix compiler warnings from int/size_t mismatches 2021-04-28 06:48:43 +02:00
counting Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
crashes Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
datatable Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
datetime Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
deleteLater Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
deleteLater_noApp Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
differentexec Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
exceptionthrow Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
expectfail Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
failcleanup Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
faildatatype Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
failfetchtype Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
failinit Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
failinitdata Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
fetchbogus Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
findtestdata Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
float Update float16 part of TestLib selftest 2021-07-28 21:26:55 +02:00
globaldata Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
junit testlib: Deprecate QWARN() in favor of qWarning() 2021-08-04 19:31:51 +02:00
keyboard Fix testlib/tst_selftests::keyboard on Wayland 2021-03-09 07:42:50 +01:00
longstring Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
maxwarnings Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
mouse Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
multiexec Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
pairdiagnostics Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
pass Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
printdatatags Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
printdatatagswithglobaltags Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
qexecstringlist Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
signaldumper Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
silent testlib: Deprecate QWARN() in favor of qWarning() 2021-08-04 19:31:51 +02:00
singleskip Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
skip Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
skipcleanup Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
skipinit Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
skipinitdata Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
sleep Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
strcmp Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
subtest Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
testlib Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
tuplediagnostics Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
verbose1 Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
verbose2 Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
verifyexceptionthrown Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
warnings Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
watchdog Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
.gitignore
CATCH_LICENSE.txt Rewrite Qt Testlib selftest to not rely on Qt Testlib itself 2020-05-11 15:42:28 +02:00
CMakeLists.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
README testlib selftest: Add README explaining how to run and debug tests 2020-07-21 13:43:51 +02:00
catch.cpp Rewrite Qt Testlib selftest to not rely on Qt Testlib itself 2020-05-11 15:42:28 +02:00
catch_p.h Rewrite Qt Testlib selftest to not rely on Qt Testlib itself 2020-05-11 15:42:28 +02:00
catch_p_p.h Adapt Catch2 to Apple Silicon 2021-03-25 12:06:31 +01:00
expected_assert.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_assert.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_assert.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_assert.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_assert.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_assert.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_badxml.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_badxml.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_badxml.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_badxml.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_badxml.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_badxml.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibcallgrind.csv
expected_benchlibcallgrind.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_benchlibcallgrind.lightxml testlib selftest: rebaseline benchlibcallgrind results 2020-07-22 23:23:12 +02:00
expected_benchlibcallgrind.tap testlib selftest: rebaseline benchlibcallgrind results 2020-07-22 23:23:12 +02:00
expected_benchlibcallgrind.teamcity testlib selftest: rebaseline benchlibcallgrind results 2020-07-22 23:23:12 +02:00
expected_benchlibcallgrind.xml testlib selftest: rebaseline benchlibcallgrind results 2020-07-22 23:23:12 +02:00
expected_benchlibcallgrind_0.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibcallgrind_1.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibcounting.csv
expected_benchlibcounting.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_benchlibcounting.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibcounting.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_benchlibcounting.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibcounting.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibcounting.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibeventcounter.csv
expected_benchlibeventcounter.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_benchlibeventcounter.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibeventcounter.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_benchlibeventcounter.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibeventcounter.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibeventcounter.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchliboptions.csv
expected_benchliboptions.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_benchliboptions.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchliboptions.tap Add some missing expected_*.tap files for the testlib selftest 2019-02-01 14:42:23 +00:00
expected_benchliboptions.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchliboptions.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchliboptions.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibtickcounter.csv
expected_benchlibtickcounter.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_benchlibtickcounter.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibtickcounter.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_benchlibtickcounter.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibtickcounter.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibtickcounter.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibwalltime.csv
expected_benchlibwalltime.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_benchlibwalltime.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibwalltime.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_benchlibwalltime.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibwalltime.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibwalltime.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_blacklisted.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_blacklisted.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_blacklisted.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_blacklisted.teamcity testlib: Add BXPASS and BXFAIL 2019-01-29 12:18:15 +00:00
expected_blacklisted.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_blacklisted.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_cmptest.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_cmptest.lightxml QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_cmptest.tap QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_cmptest.teamcity QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_cmptest.txt QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_cmptest.xml QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_commandlinedata.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_commandlinedata.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_commandlinedata.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_commandlinedata.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_commandlinedata.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_commandlinedata.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_counting.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_counting.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_counting.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_counting.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_counting.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_counting.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_crashes_1.txt
expected_crashes_2.txt
expected_crashes_3.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_crashes_4.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_crashes_5.txt Merge remote-tracking branch 'origin/5.13' into dev 2019-02-20 09:51:12 +01:00
expected_datatable.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_datatable.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_datatable.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_datatable.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_datatable.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_datatable.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_datetime.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_datetime.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_datetime.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_datetime.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_datetime.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_datetime.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_differentexec.junitxml testlib: Clarify that our XUnit reporter is actually a JUnit reporter 2020-02-03 13:48:25 +01:00
expected_differentexec.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_differentexec.tap Add some missing expected_*.tap files for the testlib selftest 2019-02-01 14:42:23 +00:00
expected_differentexec.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_differentexec.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_differentexec.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_exceptionthrow.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_exceptionthrow.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_exceptionthrow.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_exceptionthrow.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_exceptionthrow.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_exceptionthrow.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_expectfail.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_expectfail.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_expectfail.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_expectfail.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_expectfail.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_expectfail.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_failcleanup.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_failcleanup.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failcleanup.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_failcleanup.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failcleanup.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failcleanup.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_faildatatype.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_faildatatype.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_faildatatype.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_faildatatype.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_faildatatype.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_faildatatype.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_failfetchtype.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_failfetchtype.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_failfetchtype.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_failfetchtype.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_failfetchtype.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_failfetchtype.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_failinit.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_failinit.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failinit.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_failinit.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failinit.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failinit.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failinitdata.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_failinitdata.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failinitdata.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_failinitdata.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failinitdata.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_failinitdata.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_fetchbogus.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_fetchbogus.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_fetchbogus.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_fetchbogus.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_fetchbogus.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_fetchbogus.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_findtestdata.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_findtestdata.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_findtestdata.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_findtestdata.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_findtestdata.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_findtestdata.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_float.txt Update float16 part of TestLib selftest 2021-07-28 21:26:55 +02:00
expected_globaldata.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_globaldata.lightxml Fix the skip-check in TestMethods::invokeTest() 2019-03-29 14:00:03 +00:00
expected_globaldata.tap Fix the skip-check in TestMethods::invokeTest() 2019-03-29 14:00:03 +00:00
expected_globaldata.teamcity Fix the skip-check in TestMethods::invokeTest() 2019-03-29 14:00:03 +00:00
expected_globaldata.txt Fix the skip-check in TestMethods::invokeTest() 2019-03-29 14:00:03 +00:00
expected_globaldata.xml Fix the skip-check in TestMethods::invokeTest() 2019-03-29 14:00:03 +00:00
expected_junit.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_keyboard.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_keyboard.lightxml Add self-tests for QTest::keyPress() and QTest::keyRelease() 2018-05-07 14:53:18 +00:00
expected_keyboard.tap Add self-tests for QTest::keyPress() and QTest::keyRelease() 2018-05-07 14:53:18 +00:00
expected_keyboard.teamcity Add self-tests for QTest::keyPress() and QTest::keyRelease() 2018-05-07 14:53:18 +00:00
expected_keyboard.txt Add self-tests for QTest::keyPress() and QTest::keyRelease() 2018-05-07 14:53:18 +00:00
expected_keyboard.xml Add self-tests for QTest::keyPress() and QTest::keyRelease() 2018-05-07 14:53:18 +00:00
expected_longstring.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_longstring.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_longstring.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_longstring.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_longstring.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_longstring.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_maxwarnings.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_maxwarnings.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_maxwarnings.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_maxwarnings.teamcity Add flowId to messages when logging in TeamCity format 2017-08-04 18:48:48 +00:00
expected_maxwarnings.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_maxwarnings.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_multiexec.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_multiexec.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_multiexec.tap Add some missing expected_*.tap files for the testlib selftest 2019-02-01 14:42:23 +00:00
expected_multiexec.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_multiexec.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_multiexec.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_pairdiagnostics.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_pairdiagnostics.lightxml QTest: fix -Wformat-overflow GCC warning 2021-07-01 06:44:30 +02:00
expected_pairdiagnostics.tap QTest: fix -Wformat-overflow GCC warning 2021-07-01 06:44:30 +02:00
expected_pairdiagnostics.teamcity QTest: fix -Wformat-overflow GCC warning 2021-07-01 06:44:30 +02:00
expected_pairdiagnostics.txt QTest: fix -Wformat-overflow GCC warning 2021-07-01 06:44:30 +02:00
expected_pairdiagnostics.xml QTest: fix -Wformat-overflow GCC warning 2021-07-01 06:44:30 +02:00
expected_pass.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_pass.lightxml Add 'pass' test to testlib selftests 2020-03-05 15:18:04 +01:00
expected_pass.tap Add 'pass' test to testlib selftests 2020-03-05 15:18:04 +01:00
expected_pass.teamcity Add 'pass' test to testlib selftests 2020-03-05 15:18:04 +01:00
expected_pass.txt Add 'pass' test to testlib selftests 2020-03-05 15:18:04 +01:00
expected_pass.xml Add 'pass' test to testlib selftests 2020-03-05 15:18:04 +01:00
expected_printdatatags.txt
expected_printdatatagswithglobaltags.txt
expected_qexecstringlist.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_qexecstringlist.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_qexecstringlist.tap Add some missing expected_*.tap files for the testlib selftest 2019-02-01 14:42:23 +00:00
expected_qexecstringlist.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_qexecstringlist.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_qexecstringlist.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_signaldumper.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_signaldumper.lightxml testlib: Defer signal dumper start until tests are ready to run 2020-07-22 23:23:16 +02:00
expected_signaldumper.tap testlib: Defer signal dumper start until tests are ready to run 2020-07-22 23:23:16 +02:00
expected_signaldumper.teamcity testlib: Defer signal dumper start until tests are ready to run 2020-07-22 23:23:16 +02:00
expected_signaldumper.txt testlib: Defer signal dumper start until tests are ready to run 2020-07-22 23:23:16 +02:00
expected_signaldumper.xml testlib: Defer signal dumper start until tests are ready to run 2020-07-22 23:23:16 +02:00
expected_silent.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_silent.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_silent.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_silent.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_silent.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_silent.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_singleskip.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_singleskip.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_singleskip.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_singleskip.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_singleskip.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_singleskip.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skip.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_skip.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skip.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_skip.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skip.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skip.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipcleanup.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_skipcleanup.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipcleanup.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_skipcleanup.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipcleanup.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipcleanup.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinit.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_skipinit.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinit.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_skipinit.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinit.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinit.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinitdata.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_skipinitdata.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinitdata.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_skipinitdata.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinitdata.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinitdata.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_sleep.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_sleep.lightxml Fix integer overflows in QDeadlineTimer 2019-05-08 17:19:44 +00:00
expected_sleep.tap Fix integer overflows in QDeadlineTimer 2019-05-08 17:19:44 +00:00
expected_sleep.teamcity Fix integer overflows in QDeadlineTimer 2019-05-08 17:19:44 +00:00
expected_sleep.txt Fix integer overflows in QDeadlineTimer 2019-05-08 17:19:44 +00:00
expected_sleep.xml Fix integer overflows in QDeadlineTimer 2019-05-08 17:19:44 +00:00
expected_strcmp.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_strcmp.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_strcmp.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_strcmp.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_strcmp.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_strcmp.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_subtest.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_subtest.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_subtest.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_subtest.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_subtest.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_subtest.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_testlib.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_testlib.lightxml QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_testlib.tap QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_testlib.teamcity QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_testlib.txt QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_testlib.xml QTestlib: Add formatting for QObject * in QCOMPARE 2021-05-26 11:02:48 +00:00
expected_tuplediagnostics.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_tuplediagnostics.lightxml Eliminate some stray misleading paths from expected output files 2019-01-16 18:47:41 +00:00
expected_tuplediagnostics.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_tuplediagnostics.teamcity Eliminate some stray misleading paths from expected output files 2019-01-16 18:47:41 +00:00
expected_tuplediagnostics.txt Eliminate some stray misleading paths from expected output files 2019-01-16 18:47:41 +00:00
expected_tuplediagnostics.xml Eliminate some stray misleading paths from expected output files 2019-01-16 18:47:41 +00:00
expected_verbose1.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_verbose1.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose1.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_verbose1.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose1.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose1.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose2.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_verbose2.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose2.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_verbose2.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose2.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose2.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verifyexceptionthrown.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_verifyexceptionthrown.lightxml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verifyexceptionthrown.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_verifyexceptionthrown.teamcity generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verifyexceptionthrown.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verifyexceptionthrown.xml generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_warnings.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_warnings.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_warnings.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_warnings.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_warnings.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_warnings.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_watchdog.junitxml testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
expected_watchdog.lightxml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_watchdog.tap testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_watchdog.teamcity testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_watchdog.txt testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
expected_watchdog.xml testlib: Pass on file location on failure, but don't assume we have one 2021-08-04 17:31:51 +00:00
generate_expected_output.py testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00
qt_attribution.json Rewrite Qt Testlib selftest to not rely on Qt Testlib itself 2020-05-11 15:42:28 +02:00
tst_selftests.cpp testlib: Improve JUnit XML conformance 2021-08-05 03:58:49 +02:00

README

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Running the QtTestLib selftests with Catch2
===========================================

Catch2 [1] is a header only test framework that we use to allow
testing QtTestLib without relying on any part of testlib itself.

To run the test suite, execute 'make check' or './tst_selftests'
as normal. This should print:

    ===================================================================
    All tests passed (2453 assertions in 5 test cases)

To run specific tests, first lists the available tests:

     ./tst_selftests -l
    All available test cases:
      Loggers support both old and new style arguments
      Loggers can output to both file and stdout
      Logging to file and stdout at the same time
      All loggers can be enabled at the same time
      Scenario: Test output of the loggers is as expected
    5 test cases

Then pass the name of the test in quotes as the first argument:

     ./tst_selftests "Loggers support both old and new style arguments"
    Filters: Loggers support both old and new style arguments
    ==================================================================
    All tests passed (96 assertions in 1 test case)

You can find the tests in the sources as individual TEST_CASE
entries. Note that each of these tests run the tests once per
logger, and in the case of the test log check also all sub tests,
so the amount of actual test assertions is much higher than the
five tests listed above.

To see what the tests is actually doing, pass the -s option.
This will result in very verbose output. Each leaf test is
prefixed with a heading:

    ---------------------------------------------------------------
          Given: The QTestLog::TAP logger
           When: Passing arguments with new style
    ---------------------------------------------------------------

You can choose a specific subtest by passing the -c option:

     ./tst_selftests "Scenario: Test output of the loggers is as expected" \
        -c "Given: The QTestLog::Plain logger" \
        -c 'And given: The "skip" subtest'

It's possible to pass only the first -c options, to e.g. run all
tests with the Plain logger, but it's unfortunately not possible
to pass only the last -c option, to run the 'skip' subtest with
all loggers.

If a test fails it will print the expected, actual, and difference.
The test results are also left in a temporary directory for closer
inspection.

Add new tests by modifying selftest.pri and CMakeLists.txt, adding
a new subprogram.

Generating new test expectations is done using the python script
in this directory (generate_expected_output.py). In the future this
will be done with the --rebase option to ./tst_selftest, but this
is not fleshed out yet.

[1] https://github.com/catchorg/Catch2