qt5base-lts/tests/auto/testlib/selftests
Giuseppe D'Angelo 5560723e9d QCOMPARE: restore compatibility with braced-init-lists
a611a9f537 (in Qt 5) added support for
mixed-type comparisons through QCOMPARE. That commit added a new
overload for qCompare taking two types, T1 and T2; but it also left the
same-type qCompare(T, T) overload around, guarded by a Qt 6 version
check.

The mixed-type version is however not a generalization of the same-type
one, because it won't work if one of the arguments doesn't participate
in FTAD. Case in point: braced-init-lists. In Qt 5 this worked:

 QCOMPARE(some_container, {42});

but in Qt 6 it does not work any more. The mixed-type overload fails
deduction (can't deduce T2); in Qt 5 the same-type overload deduced
T=SomeContainer, and {42} was used to select a constructor for
SomeContainer.

--

There's a partial, straightforward workaround for this: default T2 to
T1 in the mized-type overload. In that case T2 has a "fallback" if it
cannot be deduced. This is partial because of course doesn't address
the case in which T1 cannot be deduced, but I don't think that is
common at all.

QList is special here, because it has qCompare overloads that makes it
comparable with arrays, initializer lists and more. I don't like that
very much -- we should probably have a qCompare(input_range,
input_range) overload, but that's an exercise for C++20.

Change-Id: I344ba33167829984978cd8d649a1904349a9edab
Pick-to: 6.5 6.6
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-07 12:20:50 +02:00
..
assert tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
badxml tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
benchlibcallgrind Silence some conversion warnings 2023-03-10 17:36:13 +01:00
benchlibcounting Silence some conversion warnings 2023-03-10 17:36:13 +01:00
benchlibeventcounter Silence some conversion warnings 2023-03-10 17:36:13 +01:00
benchliboptions tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
benchlibtickcounter Silence some conversion warnings 2023-03-10 17:36:13 +01:00
benchlibwalltime tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
blacklisted tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
cmptest QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
commandlinedata tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
counting tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
crashes Suppress a redundant GCC warning 2023-05-04 02:03:51 +03:00
datatable tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
datetime tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
deleteLater tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
deleteLater_noApp tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
differentexec tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
eventloop QTestEventLoop: add enterLoop(std::chrono::milliseconds) overload 2023-03-03 21:36:48 +02:00
exceptionthrow tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
expectfail tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
extendedcompare tst_Selftests: rewrite this with templates instead of macro 2023-01-12 00:00:20 -07:00
failcleanup tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
failcleanuptestcase CMake: Don't use PUBLIC_LIBRARIES for tests and test helpers 2022-07-28 14:46:53 +02:00
faildatatype tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
failfetchtype tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
failinit tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
failinitdata tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
fetchbogus tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
findtestdata Testlib: fix the last few s/Q_OS_MAC/Q_OS_DARWIN/w 2023-03-20 19:18:52 +01:00
float tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
globaldata tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
junit tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
keyboard tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
longstring tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
maxwarnings tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
mouse tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
multiexec tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
pairdiagnostics tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
pass tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
patches Catch2: upgrade to 2.13.8 2022-01-31 09:26:00 +02:00
printdatatags tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
printdatatagswithglobaltags tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qexecstringlist tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
signaldumper tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
silent tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
singleskip tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
skip tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
skipcleanup tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
skipcleanuptestcase CMake: Don't use PUBLIC_LIBRARIES for tests and test helpers 2022-07-28 14:46:53 +02:00
skipinit tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
skipinitdata tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
sleep selftests: tst_sleep, don't start timer twice 2023-06-30 02:24:54 +03:00
strcmp tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
subtest tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
testlib tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
tuplediagnostics tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
verbose1 Rid of 'special case' markers 2023-04-13 18:30:58 +02:00
verbose2 Rid of 'special case' markers 2023-04-13 18:30:58 +02:00
verifyexceptionthrown tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
warnings Doc: fix link to QTest::failOnWarning 2023-03-05 06:00:39 +01:00
watchdog QTest: add qSleep(std::chrono::milliseconds) overload 2023-06-30 02:24:53 +03:00
.gitignore Revert "Remove unused overload of QTest::qExec." 2011-12-12 10:43:44 +01:00
CATCH_LICENSE.txt Rewrite Qt Testlib selftest to not rely on Qt Testlib itself 2020-05-11 15:42:28 +02:00
catch_p_p.h Update Catch2 to v2.13.10 2022-10-17 14:07:43 +02:00
catch_p.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
catch.cpp Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
CMakeLists.txt CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
expected_assert.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_assert.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_assert.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_badxml.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_badxml.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_badxml.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchlibcallgrind_0.txt Fix x86 preprocessor check in testlib selftests 2021-12-09 20:54:25 +01:00
expected_benchlibcallgrind_1.txt Fix x86 preprocessor check in testlib selftests 2021-12-09 20:54:25 +01:00
expected_benchlibcallgrind_2.txt Fix x86 preprocessor check in testlib selftests 2021-12-09 20:54:25 +01:00
expected_benchlibcounting.csv Add a CSV logging feature to the benchlib 2014-02-14 00:34:25 +01:00
expected_benchlibcounting.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_benchlibcounting.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchlibcounting.tap testlib selftest: rebaseline tap results to not include line numbers 2020-07-22 23:23:01 +02:00
expected_benchlibcounting.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibcounting.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchlibeventcounter.csv Add a CSV logging feature to the benchlib 2014-02-14 00:34:25 +01:00
expected_benchlibeventcounter.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_benchlibeventcounter.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchlibeventcounter.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_benchlibeventcounter.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibeventcounter.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchliboptions.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibtickcounter.csv Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_benchlibtickcounter.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_benchlibtickcounter.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchlibtickcounter.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_benchlibtickcounter.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibtickcounter.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchlibwalltime.csv Add a CSV logging feature to the benchlib 2014-02-14 00:34:25 +01:00
expected_benchlibwalltime.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_benchlibwalltime.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_benchlibwalltime.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_benchlibwalltime.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_benchlibwalltime.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_blacklisted.junitxml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_blacklisted.lightxml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_blacklisted.tap TAP test logger: report B?XFAIL (mostly) as a message 2022-03-29 22:21:58 +02:00
expected_blacklisted.teamcity Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_blacklisted.txt Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_blacklisted.xml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_cmptest.junitxml QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
expected_cmptest.lightxml QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
expected_cmptest.tap QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
expected_cmptest.teamcity QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
expected_cmptest.txt QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
expected_cmptest.xml QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
expected_commandlinedata.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_commandlinedata.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_commandlinedata.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_counting.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_counting.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_counting.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02:00
expected_counting.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_counting.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_counting.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_crashes_1.txt QtTest: Output correct library name 2013-05-27 00:41:46 +02:00
expected_crashes_2.txt Add support for blacklisting test functions 2014-09-21 20:58:41 +02:00
expected_datatable.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_datatable.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_datetime.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_datetime.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_deleteLater_noApp.junitxml Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater_noApp.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_deleteLater_noApp.tap Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater_noApp.teamcity Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater_noApp.txt Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater_noApp.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_deleteLater.junitxml Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_deleteLater.tap Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater.teamcity Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater.txt Match up testlib selftest's lists of generated files 2021-12-09 20:54:25 +01:00
expected_deleteLater.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_differentexec.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_eventloop.junitxml Skip early return from test loops during cleanup() 2022-09-22 17:34:51 +02:00
expected_eventloop.lightxml Skip early return from test loops during cleanup() 2022-09-22 17:34:51 +02:00
expected_eventloop.tap Skip early return from test loops during cleanup() 2022-09-22 17:34:51 +02:00
expected_eventloop.teamcity Skip early return from test loops during cleanup() 2022-09-22 17:34:51 +02:00
expected_eventloop.txt Skip early return from test loops during cleanup() 2022-09-22 17:34:51 +02:00
expected_eventloop.xml Skip early return from test loops during cleanup() 2022-09-22 17:34:51 +02:00
expected_exceptionthrow.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_exceptionthrow.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_expectfail.junitxml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_expectfail.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_expectfail.tap TAP test logger: report B?XFAIL (mostly) as a message 2022-03-29 22:21:58 +02:00
expected_expectfail.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_expectfail.txt Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_expectfail.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_extendedcompare.junitxml QTest: Rename QCOMPARE_XX parameters to add meaning 2023-03-08 15:10:21 +01:00
expected_extendedcompare.lightxml QTest: Rename QCOMPARE_XX parameters to add meaning 2023-03-08 15:10:21 +01:00
expected_extendedcompare.tap QTest: Rename QCOMPARE_XX parameters to add meaning 2023-03-08 15:10:21 +01:00
expected_extendedcompare.teamcity QTest: Rename QCOMPARE_XX parameters to add meaning 2023-03-08 15:10:21 +01:00
expected_extendedcompare.txt QTest: Rename QCOMPARE_XX parameters to add meaning 2023-03-08 15:10:21 +01:00
expected_extendedcompare.xml QTest: Rename QCOMPARE_XX parameters to add meaning 2023-03-08 15:10:21 +01:00
expected_failcleanup.junitxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanup.lightxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanup.tap Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanup.teamcity Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanup.txt Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanup.xml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanuptestcase.junitxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanuptestcase.lightxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanuptestcase.tap Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanuptestcase.teamcity Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanuptestcase.txt Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_failcleanuptestcase.xml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_faildatatype.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_faildatatype.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_faildatatype.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_failfetchtype.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_failfetchtype.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_failfetchtype.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_failinit.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_failinit.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_failinitdata.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_failinitdata.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_fetchbogus.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_fetchbogus.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_fetchbogus.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_findtestdata.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_findtestdata.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_findtestdata.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_float.txt Update float16 part of TestLib selftest 2021-07-28 21:26:55 +02:00
expected_globaldata.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_globaldata.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_globaldata.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02:00
expected_globaldata.teamcity Include global data tags in teamcity's test function names 2022-09-13 14:51:00 +02:00
expected_globaldata.txt Fix the skip-check in TestMethods::invokeTest() 2019-03-29 14:00:03 +00:00
expected_globaldata.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_junit.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_keyboard.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_keyboard.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_longstring.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_longstring.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_maxwarnings.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_maxwarnings.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_maxwarnings.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02:00
expected_maxwarnings.teamcity testlib: Rename QAbstractTestLogger::QSystem to QCritical 2021-08-10 18:06:36 +02:00
expected_maxwarnings.txt testlib: Rename QAbstractTestLogger::QSystem to QCritical 2021-08-10 18:06:36 +02:00
expected_maxwarnings.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_mouse.junitxml testlib: make it possible to test double-clicks with discrete events 2022-10-16 08:36:03 +02:00
expected_mouse.lightxml testlib: make it possible to test double-clicks with discrete events 2022-10-16 08:36:03 +02:00
expected_mouse.tap testlib: make it possible to test double-clicks with discrete events 2022-10-16 08:36:03 +02:00
expected_mouse.teamcity testlib: make it possible to test double-clicks with discrete events 2022-10-16 08:36:03 +02:00
expected_mouse.txt testlib: make it possible to test double-clicks with discrete events 2022-10-16 08:36:03 +02:00
expected_mouse.xml testlib: make it possible to test double-clicks with discrete events 2022-10-16 08:36:03 +02:00
expected_multiexec.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_pairdiagnostics.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_pairdiagnostics.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_pass.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_pass.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_printdatatags.txt Fixing naming of selftests. 2011-12-05 09:02:15 +01:00
expected_printdatatagswithglobaltags.txt Fixing naming of selftests. 2011-12-05 09:02:15 +01:00
expected_qexecstringlist.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_signaldumper.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_signaldumper.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_signaldumper.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_silent.txt Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_singleskip.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_singleskip.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_singleskip.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_singleskip.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_singleskip.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_singleskip.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_skip.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_skip.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_skip.tap TAP test logger: move messages into the diagnostics block 2022-03-29 00:05:12 +01:00
expected_skip.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_skip.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skip.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_skipcleanup.junitxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanup.lightxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanup.tap Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanup.teamcity Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanup.txt Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanup.xml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanuptestcase.junitxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanuptestcase.lightxml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanuptestcase.tap Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanuptestcase.teamcity Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanuptestcase.txt Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipcleanuptestcase.xml Test skip and fail in cleanup() as well as in cleanupTestCase() 2022-07-25 19:29:07 +02:00
expected_skipinit.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_skipinit.lightxml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_skipinit.tap Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_skipinit.teamcity Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_skipinit.txt Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_skipinit.xml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_skipinitdata.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_skipinitdata.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_skipinitdata.tap testlib: Add Test Anything Protocol (TAP) reporter 2018-03-14 14:28:36 +00:00
expected_skipinitdata.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_skipinitdata.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_skipinitdata.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_sleep.txt Fix integer overflows in QDeadlineTimer 2019-05-08 17:19:44 +00:00
expected_strcmp.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_strcmp.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_strcmp.tap TAP test logger: report B?XFAIL (mostly) as a message 2022-03-29 22:21:58 +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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_subtest.junitxml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_subtest.lightxml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_subtest.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02:00
expected_subtest.teamcity Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_subtest.txt Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_subtest.xml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_testlib.junitxml Use debug stream in QTest::toString's default fallback if possible 2022-07-13 15:14:35 +02:00
expected_testlib.lightxml Use debug stream in QTest::toString's default fallback if possible 2022-07-13 15:14:35 +02:00
expected_testlib.tap Use debug stream in QTest::toString's default fallback if possible 2022-07-13 15:14:35 +02:00
expected_testlib.teamcity Use debug stream in QTest::toString's default fallback if possible 2022-07-13 15:14:35 +02:00
expected_testlib.txt Use debug stream in QTest::toString's default fallback if possible 2022-07-13 15:14:35 +02:00
expected_testlib.xml Use debug stream in QTest::toString's default fallback if possible 2022-07-13 15:14:35 +02:00
expected_tuplediagnostics.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_tuplediagnostics.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_verbose1.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_verbose1.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_verbose1.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02:00
expected_verbose1.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_verbose1.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose1.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_verbose2.junitxml testlib: Don't write redundant log message information in JUnit reporter 2021-08-10 18:06:36 +02:00
expected_verbose2.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_verbose2.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02:00
expected_verbose2.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_verbose2.txt generate_expected_output.py: update generated expected_* files 2017-10-11 09:59:44 +00:00
expected_verbose2.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_verifyexceptionthrown.junitxml Long live QVERIFY_THROWS_NO_EXCEPTION! 2021-11-26 18:28:50 +01:00
expected_verifyexceptionthrown.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_verifyexceptionthrown.tap Long live QVERIFY_THROWS_NO_EXCEPTION! 2021-11-26 18:28:50 +01:00
expected_verifyexceptionthrown.teamcity Long live QVERIFY_THROWS_NO_EXCEPTION! 2021-11-26 18:28:50 +01:00
expected_verifyexceptionthrown.txt Long live QVERIFY_THROWS_NO_EXCEPTION! 2021-11-26 18:28:50 +01:00
expected_verifyexceptionthrown.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_warnings.junitxml Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_warnings.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_warnings.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02:00
expected_warnings.teamcity Make Skip an incident in test logging 2021-12-09 20:54:26 +01:00
expected_warnings.txt Make counts of various types of test result add up correctly 2022-01-13 19:47:22 +01:00
expected_warnings.xml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_watchdog.junitxml testlib: Move stdout/stderr reporting into individual <testcase> elements 2021-08-10 18:06:36 +02:00
expected_watchdog.lightxml Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
expected_watchdog.tap Move TAP's messages block to after the primary report details 2022-03-29 22:21:58 +02: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 Properly indent qtestlib's XML output 2021-12-17 07:03:26 +01:00
generate_expected_output.py Add some testing of QTestEventLoop 2022-08-08 20:49:03 +02:00
qt_attribution.json Update Catch2 to v2.13.10 2022-10-17 14:07:43 +02:00
README testlib selftest: Add README explaining how to run and debug tests 2020-07-21 13:43:51 +02:00
tst_selftests.cpp Use QString/QByteArray range erase() 2022-12-07 15:03:03 +02:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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