diff options
author | Liang Qi <liang.qi@qt.io> | 2020-02-13 09:14:09 +0100 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2020-02-13 18:31:40 +0100 |
commit | 6b2535ea15cdbdb2355416b604f072fc13ff36b2 (patch) | |
tree | 4bf1560bab77c8b315850c5337ba31a0ea87b5f0 /tests/auto/testlib | |
parent | 54c2cebabdda0280b8443c6947b6fee02445e138 (diff) | |
parent | 67491e2df5357706dbf88ddaf1f030ff095b4528 (diff) | |
download | qtbase-6b2535ea15cdbdb2355416b604f072fc13ff36b2.tar.gz |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
examples/widgets/graphicsview/boxes/scene.h
src/corelib/Qt5CoreMacros.cmake
src/corelib/Qt6CoreMacros.cmake
src/network/ssl/qsslsocket.cpp
src/network/ssl/qsslsocket.h
src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp
src/testlib/CMakeLists.txt
src/testlib/.prev_CMakeLists.txt
tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp
Disabled building manual tests with CMake for now, because qmake
doesn't do it, and it confuses people.
Done-With: Alexandru Croitor <alexandru.croitor@qt.io>
Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io>
Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
Diffstat (limited to 'tests/auto/testlib')
-rw-r--r-- | tests/auto/testlib/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/badxml/tst_badxml.cpp | 3 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp | 10 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/benchlibcounting/tst_benchlibcounting.cpp | 11 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp | 5 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/benchliboptions/tst_benchliboptions.cpp | 23 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp | 10 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp | 2 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/commandlinedata/tst_commandlinedata.cpp | 12 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/counting/tst_counting.cpp | 12 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/deleteLater/deleteLater.pro | 2 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro | 2 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_assert.junitxml (renamed from tests/auto/testlib/selftests/expected_assert.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_badxml.junitxml (renamed from tests/auto/testlib/selftests/expected_badxml.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_benchlibcallgrind.junitxml (renamed from tests/auto/testlib/selftests/expected_benchlibcallgrind.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_benchlibcounting.junitxml (renamed from tests/auto/testlib/selftests/expected_benchlibcounting.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_benchlibeventcounter.junitxml (renamed from tests/auto/testlib/selftests/expected_benchlibeventcounter.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_benchliboptions.junitxml (renamed from tests/auto/testlib/selftests/expected_benchliboptions.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_benchlibtickcounter.junitxml (renamed from tests/auto/testlib/selftests/expected_benchlibtickcounter.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_benchlibwalltime.junitxml (renamed from tests/auto/testlib/selftests/expected_benchlibwalltime.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_blacklisted.junitxml (renamed from tests/auto/testlib/selftests/expected_blacklisted.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_cmptest.junitxml (renamed from tests/auto/testlib/selftests/expected_cmptest.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_commandlinedata.junitxml (renamed from tests/auto/testlib/selftests/expected_commandlinedata.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_counting.junitxml (renamed from tests/auto/testlib/selftests/expected_counting.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_datatable.junitxml (renamed from tests/auto/testlib/selftests/expected_datatable.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_datetime.junitxml (renamed from tests/auto/testlib/selftests/expected_datetime.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_differentexec.junitxml (renamed from tests/auto/testlib/selftests/expected_differentexec.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_exceptionthrow.junitxml (renamed from tests/auto/testlib/selftests/expected_exceptionthrow.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_expectfail.junitxml (renamed from tests/auto/testlib/selftests/expected_expectfail.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_failcleanup.junitxml (renamed from tests/auto/testlib/selftests/expected_failcleanup.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_faildatatype.junitxml (renamed from tests/auto/testlib/selftests/expected_faildatatype.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_failfetchtype.junitxml (renamed from tests/auto/testlib/selftests/expected_failfetchtype.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_failinit.junitxml (renamed from tests/auto/testlib/selftests/expected_failinit.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_failinitdata.junitxml (renamed from tests/auto/testlib/selftests/expected_failinitdata.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_fetchbogus.junitxml (renamed from tests/auto/testlib/selftests/expected_fetchbogus.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_findtestdata.junitxml (renamed from tests/auto/testlib/selftests/expected_findtestdata.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_float.junitxml (renamed from tests/auto/testlib/selftests/expected_float.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_globaldata.junitxml (renamed from tests/auto/testlib/selftests/expected_globaldata.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_keyboard.junitxml (renamed from tests/auto/testlib/selftests/expected_keyboard.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_longstring.junitxml (renamed from tests/auto/testlib/selftests/expected_longstring.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_maxwarnings.junitxml (renamed from tests/auto/testlib/selftests/expected_maxwarnings.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_multiexec.junitxml (renamed from tests/auto/testlib/selftests/expected_multiexec.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_pairdiagnostics.junitxml (renamed from tests/auto/testlib/selftests/expected_pairdiagnostics.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_qexecstringlist.junitxml (renamed from tests/auto/testlib/selftests/expected_qexecstringlist.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_signaldumper.junitxml (renamed from tests/auto/testlib/selftests/expected_signaldumper.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_silent.junitxml (renamed from tests/auto/testlib/selftests/expected_silent.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_singleskip.junitxml (renamed from tests/auto/testlib/selftests/expected_singleskip.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_skip.junitxml (renamed from tests/auto/testlib/selftests/expected_skip.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_skipcleanup.junitxml (renamed from tests/auto/testlib/selftests/expected_skipcleanup.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_skipinit.junitxml (renamed from tests/auto/testlib/selftests/expected_skipinit.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_skipinitdata.junitxml (renamed from tests/auto/testlib/selftests/expected_skipinitdata.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_sleep.junitxml (renamed from tests/auto/testlib/selftests/expected_sleep.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_strcmp.junitxml (renamed from tests/auto/testlib/selftests/expected_strcmp.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_subtest.junitxml (renamed from tests/auto/testlib/selftests/expected_subtest.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_testlib.junitxml (renamed from tests/auto/testlib/selftests/expected_testlib.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_tuplediagnostics.junitxml (renamed from tests/auto/testlib/selftests/expected_tuplediagnostics.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_verbose1.junitxml (renamed from tests/auto/testlib/selftests/expected_verbose1.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_verbose2.junitxml (renamed from tests/auto/testlib/selftests/expected_verbose2.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_verifyexceptionthrown.junitxml (renamed from tests/auto/testlib/selftests/expected_verifyexceptionthrown.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_warnings.junitxml (renamed from tests/auto/testlib/selftests/expected_warnings.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_watchdog.junitxml (renamed from tests/auto/testlib/selftests/expected_watchdog.xunitxml) | 0 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/expected_xunit.junitxml (renamed from tests/auto/testlib/selftests/expected_xunit.xunitxml) | 0 | ||||
-rwxr-xr-x | tests/auto/testlib/selftests/generate_expected_output.py | 23 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/mouse/tst_mouse.cpp | 67 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/printdatatags/tst_printdatatags.cpp | 10 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/printdatatagswithglobaltags/tst_printdatatagswithglobaltags.cpp | 10 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp | 11 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/silent/tst_silent.cpp | 13 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/tst_selftests.cpp | 103 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/verbose1/verbose1.pro | 2 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/verbose2/verbose2.pro | 2 |
71 files changed, 218 insertions, 117 deletions
diff --git a/tests/auto/testlib/CMakeLists.txt b/tests/auto/testlib/CMakeLists.txt index fe80927327..fd342e82a4 100644 --- a/tests/auto/testlib/CMakeLists.txt +++ b/tests/auto/testlib/CMakeLists.txt @@ -2,7 +2,7 @@ # add_subdirectory(outformat) # special case missing project add_subdirectory(qsignalspy) -add_subdirectory(selftests) +# add_subdirectory(selftests) # special case disable because the conversion is broken and hard to fix atm if(TARGET Qt::Widgets) add_subdirectory(qabstractitemmodeltester) endif() diff --git a/tests/auto/testlib/selftests/badxml/tst_badxml.cpp b/tests/auto/testlib/selftests/badxml/tst_badxml.cpp index 164dc7eaa9..d82765311b 100644 --- a/tests/auto/testlib/selftests/badxml/tst_badxml.cpp +++ b/tests/auto/testlib/selftests/badxml/tst_badxml.cpp @@ -194,6 +194,9 @@ int main(int argc, char** argv) args << argv[i]; } } + + args << "-eventcounter"; + /* We just want testlib to output a benchmark result, we don't actually care about the value, so just do one iteration to save time. diff --git a/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp b/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp index fe83ee6608..f2176612ad 100644 --- a/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp +++ b/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp @@ -79,6 +79,14 @@ void tst_BenchlibCallgrind::twoHundredMillionInstructions() #endif } -QTEST_MAIN(tst_BenchlibCallgrind) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("-callgrind"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_BenchlibCallgrind) +} #include "tst_benchlibcallgrind.moc" diff --git a/tests/auto/testlib/selftests/benchlibcounting/tst_benchlibcounting.cpp b/tests/auto/testlib/selftests/benchlibcounting/tst_benchlibcounting.cpp index 58df127f3a..56b6d92f67 100644 --- a/tests/auto/testlib/selftests/benchlibcounting/tst_benchlibcounting.cpp +++ b/tests/auto/testlib/selftests/benchlibcounting/tst_benchlibcounting.cpp @@ -59,5 +59,14 @@ void tst_BenchlibCounting::failingBenchmark() }; } -QTEST_MAIN(tst_BenchlibCounting) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("-eventcounter"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_BenchlibCounting) +} + #include "tst_benchlibcounting.moc" diff --git a/tests/auto/testlib/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp b/tests/auto/testlib/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp index e8015acb95..e3f4720a5e 100644 --- a/tests/auto/testlib/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp +++ b/tests/auto/testlib/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp @@ -94,6 +94,11 @@ void tst_BenchlibEventCounter::events_data() int main(int argc, char** argv) { + std::vector<const char*> args(argv, argv + argc); + args.push_back("-eventcounter"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + TestEventDispatcher dispatcher; QCoreApplication app(argc, argv); tst_BenchlibEventCounter test; diff --git a/tests/auto/testlib/selftests/benchliboptions/tst_benchliboptions.cpp b/tests/auto/testlib/selftests/benchliboptions/tst_benchliboptions.cpp index c1acf5a6e8..b89ca28ff2 100644 --- a/tests/auto/testlib/selftests/benchliboptions/tst_benchliboptions.cpp +++ b/tests/auto/testlib/selftests/benchliboptions/tst_benchliboptions.cpp @@ -83,6 +83,9 @@ void tst_BenchlibOptions::threeEvents() int main(int argc, char** argv) { + std::vector<const char*> args(argv, argv + argc); + args.push_back("-eventcounter"); + int ret = 0; TestEventDispatcher dispatcher; @@ -91,29 +94,27 @@ int main(int argc, char** argv) /* Run with no special arguments. */ { tst_BenchlibOptions test; - ret += QTest::qExec(&test, argc, argv); + ret += QTest::qExec(&test, args.size(), const_cast<char**>(&args[0])); } /* Run with an exact number of iterations. */ { - QVector<char const*> args; - for (int i = 0; i < argc; ++i) args << argv[i]; - args << "-iterations"; - args << "15"; + auto extraArgs = args; + extraArgs.push_back("-iterations"); + extraArgs.push_back("15"); tst_BenchlibFifteenIterations test; - ret += QTest::qExec(&test, args.count(), const_cast<char**>(args.data())); + ret += QTest::qExec(&test, extraArgs.size(), const_cast<char**>(&extraArgs[0])); } /* Run until getting a value of at least 100. */ { - QVector<char const*> args; - for (int i = 0; i < argc; ++i) args << argv[i]; - args << "-minimumvalue"; - args << "100"; + auto extraArgs = args; + extraArgs.push_back("-minimumvalue"); + extraArgs.push_back("100"); tst_BenchlibOneHundredMinimum test; - ret += QTest::qExec(&test, args.count(), const_cast<char**>(args.data())); + ret += QTest::qExec(&test, extraArgs.size(), const_cast<char**>(&extraArgs[0])); } return ret; diff --git a/tests/auto/testlib/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp b/tests/auto/testlib/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp index b37f63f20a..2cb7dfd77f 100644 --- a/tests/auto/testlib/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp +++ b/tests/auto/testlib/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp @@ -62,6 +62,14 @@ void tst_BenchlibTickCounter::threeBillionTicks() #endif } -QTEST_MAIN(tst_BenchlibTickCounter) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("-tickcounter"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_BenchlibTickCounter) +} #include "tst_benchlibtickcounter.moc" diff --git a/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp b/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp index 49c08982ad..cb3ac4fc2d 100644 --- a/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp +++ b/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp @@ -80,7 +80,7 @@ void tst_Blacklisted::xpass() #include <setjmp.h> static jmp_buf state; -static void abort_handler(int signal) +static void abort_handler(int) { longjmp(state, 1); } diff --git a/tests/auto/testlib/selftests/commandlinedata/tst_commandlinedata.cpp b/tests/auto/testlib/selftests/commandlinedata/tst_commandlinedata.cpp index 8cb1192ea2..a916fd7f1e 100644 --- a/tests/auto/testlib/selftests/commandlinedata/tst_commandlinedata.cpp +++ b/tests/auto/testlib/selftests/commandlinedata/tst_commandlinedata.cpp @@ -63,6 +63,16 @@ void tst_DataTable::fiveTablePasses_data() const QTest::newRow("fiveTablePasses_data5") << true; } -QTEST_MAIN(tst_DataTable) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("fiveTablePasses"); + args.push_back("fiveTablePasses:fiveTablePasses_data1"); + args.push_back("-v2"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_DataTable) +} #include "tst_commandlinedata.moc" diff --git a/tests/auto/testlib/selftests/counting/tst_counting.cpp b/tests/auto/testlib/selftests/counting/tst_counting.cpp index da5595b04f..56933c78b7 100644 --- a/tests/auto/testlib/selftests/counting/tst_counting.cpp +++ b/tests/auto/testlib/selftests/counting/tst_counting.cpp @@ -287,5 +287,15 @@ void tst_Counting::testSkipInCleanup() qDebug() << "This test function should execute and then QSKIP in cleanup()"; } -QTEST_MAIN(tst_Counting) +int main(int argc, char *argv[]) +{ +#ifdef TESTLIB_VERBOSITY_ARG + std::vector<const char*> args(argv, argv + argc); + args.push_back(QT_STRINGIFY(TESTLIB_VERBOSITY_ARG)); + argc = args.size(); + argv = const_cast<char**>(&args[0]); +#endif + + QTEST_MAIN_IMPL(tst_Counting) +} #include "tst_counting.moc" diff --git a/tests/auto/testlib/selftests/deleteLater/deleteLater.pro b/tests/auto/testlib/selftests/deleteLater/deleteLater.pro index 9a10096461..1b057eccde 100644 --- a/tests/auto/testlib/selftests/deleteLater/deleteLater.pro +++ b/tests/auto/testlib/selftests/deleteLater/deleteLater.pro @@ -4,6 +4,6 @@ QT = core testlib CONFIG -= app_bundle CONFIG -= debug_and_release_target -TARGET = tst_deleteLater +TARGET = deleteLater include($$QT_SOURCE_TREE/src/testlib/selfcover.pri) diff --git a/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro b/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro index 6f2b253c14..90440109e7 100644 --- a/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro +++ b/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro @@ -4,6 +4,6 @@ QT = core testlib CONFIG -= app_bundle CONFIG -= debug_and_release_target -TARGET = tst_deleteLater_noApp +TARGET = deleteLater_noApp include($$QT_SOURCE_TREE/src/testlib/selfcover.pri) diff --git a/tests/auto/testlib/selftests/expected_assert.xunitxml b/tests/auto/testlib/selftests/expected_assert.junitxml index ca12a45e20..ca12a45e20 100644 --- a/tests/auto/testlib/selftests/expected_assert.xunitxml +++ b/tests/auto/testlib/selftests/expected_assert.junitxml diff --git a/tests/auto/testlib/selftests/expected_badxml.xunitxml b/tests/auto/testlib/selftests/expected_badxml.junitxml index 49048fdad6..49048fdad6 100644 --- a/tests/auto/testlib/selftests/expected_badxml.xunitxml +++ b/tests/auto/testlib/selftests/expected_badxml.junitxml diff --git a/tests/auto/testlib/selftests/expected_benchlibcallgrind.xunitxml b/tests/auto/testlib/selftests/expected_benchlibcallgrind.junitxml index 95d90e6ee7..95d90e6ee7 100644 --- a/tests/auto/testlib/selftests/expected_benchlibcallgrind.xunitxml +++ b/tests/auto/testlib/selftests/expected_benchlibcallgrind.junitxml diff --git a/tests/auto/testlib/selftests/expected_benchlibcounting.xunitxml b/tests/auto/testlib/selftests/expected_benchlibcounting.junitxml index 05d1da9874..05d1da9874 100644 --- a/tests/auto/testlib/selftests/expected_benchlibcounting.xunitxml +++ b/tests/auto/testlib/selftests/expected_benchlibcounting.junitxml diff --git a/tests/auto/testlib/selftests/expected_benchlibeventcounter.xunitxml b/tests/auto/testlib/selftests/expected_benchlibeventcounter.junitxml index ce0a81110d..ce0a81110d 100644 --- a/tests/auto/testlib/selftests/expected_benchlibeventcounter.xunitxml +++ b/tests/auto/testlib/selftests/expected_benchlibeventcounter.junitxml diff --git a/tests/auto/testlib/selftests/expected_benchliboptions.xunitxml b/tests/auto/testlib/selftests/expected_benchliboptions.junitxml index 370d1c7c5c..370d1c7c5c 100644 --- a/tests/auto/testlib/selftests/expected_benchliboptions.xunitxml +++ b/tests/auto/testlib/selftests/expected_benchliboptions.junitxml diff --git a/tests/auto/testlib/selftests/expected_benchlibtickcounter.xunitxml b/tests/auto/testlib/selftests/expected_benchlibtickcounter.junitxml index 779d3bdcbc..779d3bdcbc 100644 --- a/tests/auto/testlib/selftests/expected_benchlibtickcounter.xunitxml +++ b/tests/auto/testlib/selftests/expected_benchlibtickcounter.junitxml diff --git a/tests/auto/testlib/selftests/expected_benchlibwalltime.xunitxml b/tests/auto/testlib/selftests/expected_benchlibwalltime.junitxml index 6a0510c4c9..6a0510c4c9 100644 --- a/tests/auto/testlib/selftests/expected_benchlibwalltime.xunitxml +++ b/tests/auto/testlib/selftests/expected_benchlibwalltime.junitxml diff --git a/tests/auto/testlib/selftests/expected_blacklisted.xunitxml b/tests/auto/testlib/selftests/expected_blacklisted.junitxml index 6e192687fb..6e192687fb 100644 --- a/tests/auto/testlib/selftests/expected_blacklisted.xunitxml +++ b/tests/auto/testlib/selftests/expected_blacklisted.junitxml diff --git a/tests/auto/testlib/selftests/expected_cmptest.xunitxml b/tests/auto/testlib/selftests/expected_cmptest.junitxml index 397db4c3e4..397db4c3e4 100644 --- a/tests/auto/testlib/selftests/expected_cmptest.xunitxml +++ b/tests/auto/testlib/selftests/expected_cmptest.junitxml diff --git a/tests/auto/testlib/selftests/expected_commandlinedata.xunitxml b/tests/auto/testlib/selftests/expected_commandlinedata.junitxml index 5072a7e6f4..5072a7e6f4 100644 --- a/tests/auto/testlib/selftests/expected_commandlinedata.xunitxml +++ b/tests/auto/testlib/selftests/expected_commandlinedata.junitxml diff --git a/tests/auto/testlib/selftests/expected_counting.xunitxml b/tests/auto/testlib/selftests/expected_counting.junitxml index cb3a7815af..cb3a7815af 100644 --- a/tests/auto/testlib/selftests/expected_counting.xunitxml +++ b/tests/auto/testlib/selftests/expected_counting.junitxml diff --git a/tests/auto/testlib/selftests/expected_datatable.xunitxml b/tests/auto/testlib/selftests/expected_datatable.junitxml index 89fc7ee819..89fc7ee819 100644 --- a/tests/auto/testlib/selftests/expected_datatable.xunitxml +++ b/tests/auto/testlib/selftests/expected_datatable.junitxml diff --git a/tests/auto/testlib/selftests/expected_datetime.xunitxml b/tests/auto/testlib/selftests/expected_datetime.junitxml index 6fc95719f3..6fc95719f3 100644 --- a/tests/auto/testlib/selftests/expected_datetime.xunitxml +++ b/tests/auto/testlib/selftests/expected_datetime.junitxml diff --git a/tests/auto/testlib/selftests/expected_differentexec.xunitxml b/tests/auto/testlib/selftests/expected_differentexec.junitxml index 30ee50bc08..30ee50bc08 100644 --- a/tests/auto/testlib/selftests/expected_differentexec.xunitxml +++ b/tests/auto/testlib/selftests/expected_differentexec.junitxml diff --git a/tests/auto/testlib/selftests/expected_exceptionthrow.xunitxml b/tests/auto/testlib/selftests/expected_exceptionthrow.junitxml index 7d10bf6f04..7d10bf6f04 100644 --- a/tests/auto/testlib/selftests/expected_exceptionthrow.xunitxml +++ b/tests/auto/testlib/selftests/expected_exceptionthrow.junitxml diff --git a/tests/auto/testlib/selftests/expected_expectfail.xunitxml b/tests/auto/testlib/selftests/expected_expectfail.junitxml index 47483d71bf..47483d71bf 100644 --- a/tests/auto/testlib/selftests/expected_expectfail.xunitxml +++ b/tests/auto/testlib/selftests/expected_expectfail.junitxml diff --git a/tests/auto/testlib/selftests/expected_failcleanup.xunitxml b/tests/auto/testlib/selftests/expected_failcleanup.junitxml index 813e284ee0..813e284ee0 100644 --- a/tests/auto/testlib/selftests/expected_failcleanup.xunitxml +++ b/tests/auto/testlib/selftests/expected_failcleanup.junitxml diff --git a/tests/auto/testlib/selftests/expected_faildatatype.xunitxml b/tests/auto/testlib/selftests/expected_faildatatype.junitxml index fcc0db3892..fcc0db3892 100644 --- a/tests/auto/testlib/selftests/expected_faildatatype.xunitxml +++ b/tests/auto/testlib/selftests/expected_faildatatype.junitxml diff --git a/tests/auto/testlib/selftests/expected_failfetchtype.xunitxml b/tests/auto/testlib/selftests/expected_failfetchtype.junitxml index a54a37a913..a54a37a913 100644 --- a/tests/auto/testlib/selftests/expected_failfetchtype.xunitxml +++ b/tests/auto/testlib/selftests/expected_failfetchtype.junitxml diff --git a/tests/auto/testlib/selftests/expected_failinit.xunitxml b/tests/auto/testlib/selftests/expected_failinit.junitxml index 3715725ea5..3715725ea5 100644 --- a/tests/auto/testlib/selftests/expected_failinit.xunitxml +++ b/tests/auto/testlib/selftests/expected_failinit.junitxml diff --git a/tests/auto/testlib/selftests/expected_failinitdata.xunitxml b/tests/auto/testlib/selftests/expected_failinitdata.junitxml index d245bc0dff..d245bc0dff 100644 --- a/tests/auto/testlib/selftests/expected_failinitdata.xunitxml +++ b/tests/auto/testlib/selftests/expected_failinitdata.junitxml diff --git a/tests/auto/testlib/selftests/expected_fetchbogus.xunitxml b/tests/auto/testlib/selftests/expected_fetchbogus.junitxml index 77ccbd896a..77ccbd896a 100644 --- a/tests/auto/testlib/selftests/expected_fetchbogus.xunitxml +++ b/tests/auto/testlib/selftests/expected_fetchbogus.junitxml diff --git a/tests/auto/testlib/selftests/expected_findtestdata.xunitxml b/tests/auto/testlib/selftests/expected_findtestdata.junitxml index c1138da6cb..c1138da6cb 100644 --- a/tests/auto/testlib/selftests/expected_findtestdata.xunitxml +++ b/tests/auto/testlib/selftests/expected_findtestdata.junitxml diff --git a/tests/auto/testlib/selftests/expected_float.xunitxml b/tests/auto/testlib/selftests/expected_float.junitxml index 602f9252a4..602f9252a4 100644 --- a/tests/auto/testlib/selftests/expected_float.xunitxml +++ b/tests/auto/testlib/selftests/expected_float.junitxml diff --git a/tests/auto/testlib/selftests/expected_globaldata.xunitxml b/tests/auto/testlib/selftests/expected_globaldata.junitxml index de184c2fdd..de184c2fdd 100644 --- a/tests/auto/testlib/selftests/expected_globaldata.xunitxml +++ b/tests/auto/testlib/selftests/expected_globaldata.junitxml diff --git a/tests/auto/testlib/selftests/expected_keyboard.xunitxml b/tests/auto/testlib/selftests/expected_keyboard.junitxml index 93b5f7bfff..93b5f7bfff 100644 --- a/tests/auto/testlib/selftests/expected_keyboard.xunitxml +++ b/tests/auto/testlib/selftests/expected_keyboard.junitxml diff --git a/tests/auto/testlib/selftests/expected_longstring.xunitxml b/tests/auto/testlib/selftests/expected_longstring.junitxml index 269c06fe08..269c06fe08 100644 --- a/tests/auto/testlib/selftests/expected_longstring.xunitxml +++ b/tests/auto/testlib/selftests/expected_longstring.junitxml diff --git a/tests/auto/testlib/selftests/expected_maxwarnings.xunitxml b/tests/auto/testlib/selftests/expected_maxwarnings.junitxml index 329fae5f1d..329fae5f1d 100644 --- a/tests/auto/testlib/selftests/expected_maxwarnings.xunitxml +++ b/tests/auto/testlib/selftests/expected_maxwarnings.junitxml diff --git a/tests/auto/testlib/selftests/expected_multiexec.xunitxml b/tests/auto/testlib/selftests/expected_multiexec.junitxml index 8ab914842b..8ab914842b 100644 --- a/tests/auto/testlib/selftests/expected_multiexec.xunitxml +++ b/tests/auto/testlib/selftests/expected_multiexec.junitxml diff --git a/tests/auto/testlib/selftests/expected_pairdiagnostics.xunitxml b/tests/auto/testlib/selftests/expected_pairdiagnostics.junitxml index cf2a30b84a..cf2a30b84a 100644 --- a/tests/auto/testlib/selftests/expected_pairdiagnostics.xunitxml +++ b/tests/auto/testlib/selftests/expected_pairdiagnostics.junitxml diff --git a/tests/auto/testlib/selftests/expected_qexecstringlist.xunitxml b/tests/auto/testlib/selftests/expected_qexecstringlist.junitxml index b352b8e6b9..b352b8e6b9 100644 --- a/tests/auto/testlib/selftests/expected_qexecstringlist.xunitxml +++ b/tests/auto/testlib/selftests/expected_qexecstringlist.junitxml diff --git a/tests/auto/testlib/selftests/expected_signaldumper.xunitxml b/tests/auto/testlib/selftests/expected_signaldumper.junitxml index 6609f518a2..6609f518a2 100644 --- a/tests/auto/testlib/selftests/expected_signaldumper.xunitxml +++ b/tests/auto/testlib/selftests/expected_signaldumper.junitxml diff --git a/tests/auto/testlib/selftests/expected_silent.xunitxml b/tests/auto/testlib/selftests/expected_silent.junitxml index ea229d1dc7..ea229d1dc7 100644 --- a/tests/auto/testlib/selftests/expected_silent.xunitxml +++ b/tests/auto/testlib/selftests/expected_silent.junitxml diff --git a/tests/auto/testlib/selftests/expected_singleskip.xunitxml b/tests/auto/testlib/selftests/expected_singleskip.junitxml index 2b2da2f504..2b2da2f504 100644 --- a/tests/auto/testlib/selftests/expected_singleskip.xunitxml +++ b/tests/auto/testlib/selftests/expected_singleskip.junitxml diff --git a/tests/auto/testlib/selftests/expected_skip.xunitxml b/tests/auto/testlib/selftests/expected_skip.junitxml index 63e582f96a..63e582f96a 100644 --- a/tests/auto/testlib/selftests/expected_skip.xunitxml +++ b/tests/auto/testlib/selftests/expected_skip.junitxml diff --git a/tests/auto/testlib/selftests/expected_skipcleanup.xunitxml b/tests/auto/testlib/selftests/expected_skipcleanup.junitxml index 9934584ec5..9934584ec5 100644 --- a/tests/auto/testlib/selftests/expected_skipcleanup.xunitxml +++ b/tests/auto/testlib/selftests/expected_skipcleanup.junitxml diff --git a/tests/auto/testlib/selftests/expected_skipinit.xunitxml b/tests/auto/testlib/selftests/expected_skipinit.junitxml index bab08c375c..bab08c375c 100644 --- a/tests/auto/testlib/selftests/expected_skipinit.xunitxml +++ b/tests/auto/testlib/selftests/expected_skipinit.junitxml diff --git a/tests/auto/testlib/selftests/expected_skipinitdata.xunitxml b/tests/auto/testlib/selftests/expected_skipinitdata.junitxml index e61d50b06b..e61d50b06b 100644 --- a/tests/auto/testlib/selftests/expected_skipinitdata.xunitxml +++ b/tests/auto/testlib/selftests/expected_skipinitdata.junitxml diff --git a/tests/auto/testlib/selftests/expected_sleep.xunitxml b/tests/auto/testlib/selftests/expected_sleep.junitxml index e4ed66bcb8..e4ed66bcb8 100644 --- a/tests/auto/testlib/selftests/expected_sleep.xunitxml +++ b/tests/auto/testlib/selftests/expected_sleep.junitxml diff --git a/tests/auto/testlib/selftests/expected_strcmp.xunitxml b/tests/auto/testlib/selftests/expected_strcmp.junitxml index 66dce857c9..66dce857c9 100644 --- a/tests/auto/testlib/selftests/expected_strcmp.xunitxml +++ b/tests/auto/testlib/selftests/expected_strcmp.junitxml diff --git a/tests/auto/testlib/selftests/expected_subtest.xunitxml b/tests/auto/testlib/selftests/expected_subtest.junitxml index b49c006940..b49c006940 100644 --- a/tests/auto/testlib/selftests/expected_subtest.xunitxml +++ b/tests/auto/testlib/selftests/expected_subtest.junitxml diff --git a/tests/auto/testlib/selftests/expected_testlib.xunitxml b/tests/auto/testlib/selftests/expected_testlib.junitxml index c9c67c7c9a..c9c67c7c9a 100644 --- a/tests/auto/testlib/selftests/expected_testlib.xunitxml +++ b/tests/auto/testlib/selftests/expected_testlib.junitxml diff --git a/tests/auto/testlib/selftests/expected_tuplediagnostics.xunitxml b/tests/auto/testlib/selftests/expected_tuplediagnostics.junitxml index 0a276a17f5..0a276a17f5 100644 --- a/tests/auto/testlib/selftests/expected_tuplediagnostics.xunitxml +++ b/tests/auto/testlib/selftests/expected_tuplediagnostics.junitxml diff --git a/tests/auto/testlib/selftests/expected_verbose1.xunitxml b/tests/auto/testlib/selftests/expected_verbose1.junitxml index cb3a7815af..cb3a7815af 100644 --- a/tests/auto/testlib/selftests/expected_verbose1.xunitxml +++ b/tests/auto/testlib/selftests/expected_verbose1.junitxml diff --git a/tests/auto/testlib/selftests/expected_verbose2.xunitxml b/tests/auto/testlib/selftests/expected_verbose2.junitxml index 6764a5564f..6764a5564f 100644 --- a/tests/auto/testlib/selftests/expected_verbose2.xunitxml +++ b/tests/auto/testlib/selftests/expected_verbose2.junitxml diff --git a/tests/auto/testlib/selftests/expected_verifyexceptionthrown.xunitxml b/tests/auto/testlib/selftests/expected_verifyexceptionthrown.junitxml index 003a31a1cc..003a31a1cc 100644 --- a/tests/auto/testlib/selftests/expected_verifyexceptionthrown.xunitxml +++ b/tests/auto/testlib/selftests/expected_verifyexceptionthrown.junitxml diff --git a/tests/auto/testlib/selftests/expected_warnings.xunitxml b/tests/auto/testlib/selftests/expected_warnings.junitxml index 5cca215f12..5cca215f12 100644 --- a/tests/auto/testlib/selftests/expected_warnings.xunitxml +++ b/tests/auto/testlib/selftests/expected_warnings.junitxml diff --git a/tests/auto/testlib/selftests/expected_watchdog.xunitxml b/tests/auto/testlib/selftests/expected_watchdog.junitxml index 7e16ab2c34..7e16ab2c34 100644 --- a/tests/auto/testlib/selftests/expected_watchdog.xunitxml +++ b/tests/auto/testlib/selftests/expected_watchdog.junitxml diff --git a/tests/auto/testlib/selftests/expected_xunit.xunitxml b/tests/auto/testlib/selftests/expected_xunit.junitxml index 395b6efdd9..395b6efdd9 100644 --- a/tests/auto/testlib/selftests/expected_xunit.xunitxml +++ b/tests/auto/testlib/selftests/expected_xunit.junitxml diff --git a/tests/auto/testlib/selftests/generate_expected_output.py b/tests/auto/testlib/selftests/generate_expected_output.py index 48ecbf0289..96fab44408 100755 --- a/tests/auto/testlib/selftests/generate_expected_output.py +++ b/tests/auto/testlib/selftests/generate_expected_output.py @@ -86,7 +86,7 @@ class Cleaner (object): # Build details: (r'(Config: Using QtTest library).*', r'\1'), # txt (r'( *<QtBuild)>[^<]+</QtBuild>', r'\1/>'), # xml, lightxml - (r'(<property value=")[^"]+(" name="QtBuild"/>)', r'\1\2'), # xunitxml + (r'(<property value=")[^"]+(" name="QtBuild"/>)', r'\1\2'), # junitxml # Line numbers in source files: (r'(ASSERT: ".*" in file .*, line) \d+', r'\1 0'), # lightxml (r'(Loc: \[[^[\]()]+)\(\d+\)', r'\1(0)'), # txt @@ -295,23 +295,7 @@ def testEnv(testname, return data def generateTestData(testname, clean, - formats = ('xml', 'txt', 'xunitxml', 'lightxml', 'teamcity', 'tap'), - # Make sure this matches tst_Selftests::runSubTest_data(): - extraArgs = { - "commandlinedata": "fiveTablePasses fiveTablePasses:fiveTablePasses_data1 -v2", - "benchlibcallgrind": "-callgrind", - "benchlibeventcounter": "-eventcounter", - "benchliboptions": "-eventcounter", - "benchlibtickcounter": "-tickcounter", - "badxml": "-eventcounter", - "benchlibcounting": "-eventcounter", - "printdatatags": "-datatags", - "printdatatagswithglobaltags": "-datatags", - "signaldumper": "-vs", - "silent": "-silent", - "verbose1": "-v1", - "verbose2": "-v2", - }): + formats = ('xml', 'txt', 'junitxml', 'lightxml', 'teamcity', 'tap')): """Run one test and save its cleaned results. Required arguments are the name of the test directory (the binary @@ -330,9 +314,6 @@ def generateTestData(testname, clean, print(" running", testname) for format in formats: cmd = [path, '-' + format] - if testname in extraArgs: - cmd += extraArgs[testname].split() - data = subprocess.Popen(cmd, stdout=subprocess.PIPE, env=env, universal_newlines=True).communicate()[0] with open('expected_' + testname + '.' + format, 'w') as out: diff --git a/tests/auto/testlib/selftests/mouse/tst_mouse.cpp b/tests/auto/testlib/selftests/mouse/tst_mouse.cpp index d097027e7e..43dda31daf 100644 --- a/tests/auto/testlib/selftests/mouse/tst_mouse.cpp +++ b/tests/auto/testlib/selftests/mouse/tst_mouse.cpp @@ -42,6 +42,8 @@ class tst_Mouse : public QObject Q_OBJECT private slots: + void timestampBetweenTestFunction_data(); + void timestampBetweenTestFunction(); void stateHandlingPart1_data(); void stateHandlingPart1(); void stateHandlingPart2(); @@ -55,20 +57,83 @@ public: Qt::MouseButtons stateInMouseMove = Qt::NoButton; int moveCount = 0; int pressCount = 0; + int doubleClickCount = 0; + ulong lastTimeStamp = 0; protected: - void mousePressEvent(QMouseEvent *) + void mousePressEvent(QMouseEvent *e) { pressCount++; + processEvent(e); } void mouseMoveEvent(QMouseEvent *e) { moveCount++; stateInMouseMove = e->buttons(); + processEvent(e); } + + void mouseReleaseEvent(QMouseEvent *e) + { + processEvent(e); + } + + void mouseDoubleClickEvent(QMouseEvent *e) + { + doubleClickCount++; + processEvent(e); + } + + void processEvent(QMouseEvent *e) + { + lastTimeStamp = e->timestamp(); + } + }; +static ulong lastTimeStampInPreviousTestFunction = 0; + +void tst_Mouse::timestampBetweenTestFunction_data() +{ + QTest::addColumn<bool>("hoverLast"); + QTest::addColumn<bool>("pressAndRelease"); + QTest::newRow("press, release") << true << false; + QTest::newRow("press, release, hover") << true << true; + QTest::newRow("hover") << false << true; + QTest::newRow("hover #2") << false << true; + QTest::newRow("press, release #2") << true << false; + QTest::newRow("press, release, hover #2") << true << true; +} + +void tst_Mouse::timestampBetweenTestFunction() +{ + QFETCH(bool, hoverLast); + QFETCH(bool, pressAndRelease); + + MouseWindow w; + w.show(); + w.setGeometry(100, 100, 200, 200); + QVERIFY(QTest::qWaitForWindowActive(&w)); + + QPoint point(10, 10); + QCOMPARE(w.pressCount, 0); + if (pressAndRelease) { + QTest::mousePress(&w, Qt::LeftButton, { }, point); + QVERIFY(w.lastTimeStamp - lastTimeStampInPreviousTestFunction > 500); // Should be at least 500 ms timestamp between each test case + QCOMPARE(w.pressCount, 1); + QTest::mouseRelease(&w, Qt::LeftButton, { }, point); + } + QCOMPARE(w.doubleClickCount, 0); + if (hoverLast) { + static int xMove = 0; + xMove += 5; // Just make sure we generate different hover coordinates + point.rx() += xMove; + QTest::mouseMove(&w, point); // a hover move. This doesn't generate a timestamp delay of 500 ms + } + lastTimeStampInPreviousTestFunction = w.lastTimeStamp; +} + void tst_Mouse::stateHandlingPart1_data() { QTest::addColumn<bool>("dummy"); diff --git a/tests/auto/testlib/selftests/printdatatags/tst_printdatatags.cpp b/tests/auto/testlib/selftests/printdatatags/tst_printdatatags.cpp index 5c9f5c5898..60a295c0f7 100644 --- a/tests/auto/testlib/selftests/printdatatags/tst_printdatatags.cpp +++ b/tests/auto/testlib/selftests/printdatatags/tst_printdatatags.cpp @@ -72,6 +72,14 @@ void tst_PrintDataTags::c() const { } -QTEST_MAIN(tst_PrintDataTags) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("-datatags"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_PrintDataTags) +} #include "tst_printdatatags.moc" diff --git a/tests/auto/testlib/selftests/printdatatagswithglobaltags/tst_printdatatagswithglobaltags.cpp b/tests/auto/testlib/selftests/printdatatagswithglobaltags/tst_printdatatagswithglobaltags.cpp index b68daae538..6fea34467a 100644 --- a/tests/auto/testlib/selftests/printdatatagswithglobaltags/tst_printdatatagswithglobaltags.cpp +++ b/tests/auto/testlib/selftests/printdatatagswithglobaltags/tst_printdatatagswithglobaltags.cpp @@ -88,6 +88,14 @@ void tst_PrintDataTagsWithGlobalTags::c() const { } -QTEST_MAIN(tst_PrintDataTagsWithGlobalTags) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("-datatags"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_PrintDataTagsWithGlobalTags) +} #include "tst_printdatatagswithglobaltags.moc" diff --git a/tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp b/tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp index 08592e222d..c60260f109 100644 --- a/tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp +++ b/tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp @@ -424,5 +424,14 @@ void tst_Signaldumper::deletingSender() emit signalSlotOwner->signalWithoutParameters(); } -QTEST_MAIN(tst_Signaldumper) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("-vs"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_Signaldumper) +} + #include "tst_signaldumper.moc" diff --git a/tests/auto/testlib/selftests/silent/tst_silent.cpp b/tests/auto/testlib/selftests/silent/tst_silent.cpp index cf3c35dec4..7d64efffa2 100644 --- a/tests/auto/testlib/selftests/silent/tst_silent.cpp +++ b/tests/auto/testlib/selftests/silent/tst_silent.cpp @@ -77,7 +77,7 @@ void tst_Silent::xpass() #include <setjmp.h> static jmp_buf state; -static void abort_handler(int signal) +static void abort_handler(int) { longjmp(state, 1); } @@ -102,5 +102,14 @@ void tst_Silent::messages() qFatal("This is a fatal error message that should still appear in silent test output"); } -QTEST_MAIN(tst_Silent) +int main(int argc, char *argv[]) +{ + std::vector<const char*> args(argv, argv + argc); + args.push_back("-silent"); + argc = args.size(); + argv = const_cast<char**>(&args[0]); + + QTEST_MAIN_IMPL(tst_Silent) +} + #include "tst_silent.moc" diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp index 331ae48135..be64752ceb 100644 --- a/tests/auto/testlib/selftests/tst_selftests.cpp +++ b/tests/auto/testlib/selftests/tst_selftests.cpp @@ -76,8 +76,6 @@ private: QList<LoggerSet> allLoggerSets() const; QTemporaryDir tempDir; - QRegularExpression durationRegExp; - QRegularExpression teamcityLocRegExp; }; struct BenchmarkResult @@ -280,13 +278,17 @@ QList<LoggerSet> tst_Selftests::allLoggerSets() const QStringList() << "xml", QStringList() << "-xml" << "-o" << logName("xml") ) - << LoggerSet("old stdout xunitxml", - QStringList() << "stdout xunitxml", - QStringList() << "-xunitxml" + << LoggerSet("old stdout junitxml", + QStringList() << "stdout junitxml", + QStringList() << "-junitxml" ) - << LoggerSet("old xunitxml", - QStringList() << "xunitxml", - QStringList() << "-xunitxml" << "-o" << logName("xunitxml") + << LoggerSet("old junitxml", + QStringList() << "junitxml", + QStringList() << "-junitxml" << "-o" << logName("junitxml") + ) + << LoggerSet("old xunitxml compatibility", + QStringList() << "junitxml", + QStringList() << "-xunitxml" << "-o" << logName("junitxml") ) << LoggerSet("old stdout lightxml", QStringList() << "stdout lightxml", @@ -335,13 +337,17 @@ QList<LoggerSet> tst_Selftests::allLoggerSets() const QStringList() << "xml", QStringList() << "-o" << logName("xml")+",xml" ) - << LoggerSet("new stdout xunitxml", - QStringList() << "stdout xunitxml", + << LoggerSet("new stdout junitxml", + QStringList() << "stdout junitxml", + QStringList() << "-o" << "-,junitxml" + ) + << LoggerSet("new stdout xunitxml compatibility", + QStringList() << "stdout junitxml", QStringList() << "-o" << "-,xunitxml" ) - << LoggerSet("new xunitxml", - QStringList() << "xunitxml", - QStringList() << "-o" << logName("xunitxml")+",xunitxml" + << LoggerSet("new junitxml", + QStringList() << "junitxml", + QStringList() << "-o" << logName("junitxml")+",junitxml" ) << LoggerSet("new stdout lightxml", QStringList() << "stdout lightxml", @@ -384,24 +390,24 @@ QList<LoggerSet> tst_Selftests::allLoggerSets() const QStringList() << "-o" << logName("xml")+",xml" << "-o" << "-,txt" ) - << LoggerSet("txt + xunitxml", - QStringList() << "txt" << "xunitxml", + << LoggerSet("txt + junitxml", + QStringList() << "txt" << "junitxml", QStringList() << "-o" << logName("txt")+",txt" - << "-o" << logName("xunitxml")+",xunitxml" + << "-o" << logName("junitxml")+",junitxml" ) - << LoggerSet("lightxml + stdout xunitxml", - QStringList() << "lightxml" << "stdout xunitxml", + << LoggerSet("lightxml + stdout junitxml", + QStringList() << "lightxml" << "stdout junitxml", QStringList() << "-o" << logName("lightxml")+",lightxml" - << "-o" << "-,xunitxml" + << "-o" << "-,junitxml" ) // All loggers at the same time (except csv) << LoggerSet("all loggers", - QStringList() << "txt" << "xml" << "lightxml" << "stdout txt" << "xunitxml" << "tap", + QStringList() << "txt" << "xml" << "lightxml" << "stdout txt" << "junitxml" << "tap", QStringList() << "-o" << logName("txt")+",txt" << "-o" << logName("xml")+",xml" << "-o" << logName("lightxml")+",lightxml" << "-o" << "-,txt" - << "-o" << logName("xunitxml")+",xunitxml" + << "-o" << logName("junitxml")+",junitxml" << "-o" << logName("teamcity")+",teamcity" << "-o" << logName("tap")+",tap" ) @@ -410,8 +416,6 @@ QList<LoggerSet> tst_Selftests::allLoggerSets() const tst_Selftests::tst_Selftests() : tempDir(QDir::tempPath() + "/tst_selftests.XXXXXX") - , durationRegExp("<Duration msecs=\"[\\d\\.]+\"/>") - , teamcityLocRegExp("\\|\\[Loc: .*\\(\\d*\\)\\|\\]") {} void tst_Selftests::initTestCase() @@ -524,49 +528,6 @@ void tst_Selftests::runSubTest_data() QStringList loggers = loggerSet.loggers; foreach (QString const& subtest, tests) { - QStringList arguments = loggerSet.arguments; - // Keep in sync with generateTestData()'s extraArgs in generate_expected_output.py: - if (subtest == "commandlinedata") { - arguments << QString("fiveTablePasses fiveTablePasses:fiveTablePasses_data1 -v2").split(' '); - } - else if (subtest == "benchlibcallgrind") { - arguments << "-callgrind"; - } - else if (subtest == "benchlibeventcounter") { - arguments << "-eventcounter"; - } - else if (subtest == "benchliboptions") { - arguments << "-eventcounter"; - } - else if (subtest == "benchlibtickcounter") { - arguments << "-tickcounter"; - } - else if (subtest == "badxml") { - arguments << "-eventcounter"; - } - else if (subtest == "benchlibcounting") { - arguments << "-eventcounter"; - } - else if (subtest == "printdatatags") { - arguments << "-datatags"; - } - else if (subtest == "printdatatagswithglobaltags") { - arguments << "-datatags"; - } - else if (subtest == "signaldumper") { - arguments << "-vs"; - } - else if (subtest == "silent") { - arguments << "-silent"; - } - else if (subtest == "verbose1") { - arguments << "-v1"; - } - else if (subtest == "verbose2") { - arguments << "-v2"; - } - - // These tests don't work right unless logging plain text to // standard output, either because they execute multiple test // objects or because they internally supply arguments to @@ -630,7 +591,7 @@ void tst_Selftests::runSubTest_data() QTest::newRow(qPrintable(QString("%1 %2").arg(subtest).arg(loggerSet.name))) << subtest << loggers - << arguments + << loggerSet.arguments << crashes ; } @@ -686,7 +647,7 @@ static inline QByteArray msgProcessError(const QString &binary, const QStringLis void tst_Selftests::doRunSubTest(QString const& subdir, QStringList const& loggers, QStringList const& arguments, bool crashes) { #if defined(__GNUC__) && defined(__i386) && defined(Q_OS_LINUX) - if (arguments.contains("-callgrind")) { + if (subdir == "benchlibcallgrind") { QProcess checkProcess; QStringList args; args << QLatin1String("--version"); @@ -839,8 +800,8 @@ bool tst_Selftests::compareOutput(const QString &logger, const QString &subdir, { if (actual.size() != expected.size()) { - *errorMessage = QString::fromLatin1("Mismatch in line count: %1 != %2.") - .arg(actual.size()).arg(expected.size()); + *errorMessage = QString::fromLatin1("Mismatch in line count. Expected %1 but got %2.") + .arg(expected.size()).arg(actual.size()); return false; } @@ -873,6 +834,7 @@ bool tst_Selftests::compareOutput(const QString &logger, const QString &subdir, // Special handling for ignoring _FILE_ and _LINE_ if logger is teamcity if (logger.endsWith(QLatin1String("teamcity"))) { + static QRegularExpression teamcityLocRegExp("\\|\\[Loc: .*\\(\\d*\\)\\|\\]"); actualLine.replace(teamcityLocRegExp, teamCityLocation()); expectedLine.replace(teamcityLocRegExp, teamCityLocation()); } @@ -943,6 +905,7 @@ bool tst_Selftests::compareLine(const QString &logger, const QString &subdir, if (actualLine.startsWith(QLatin1String(" <Duration msecs=")) || actualLine.startsWith(QLatin1String("<Duration msecs="))) { + static QRegularExpression durationRegExp("<Duration msecs=\"[\\d\\.]+\"/>"); QRegularExpressionMatch match = durationRegExp.match(actualLine); if (match.hasMatch()) return true; diff --git a/tests/auto/testlib/selftests/verbose1/verbose1.pro b/tests/auto/testlib/selftests/verbose1/verbose1.pro index 1f16d70d66..f50ce83ea6 100644 --- a/tests/auto/testlib/selftests/verbose1/verbose1.pro +++ b/tests/auto/testlib/selftests/verbose1/verbose1.pro @@ -4,6 +4,8 @@ SOURCES += ../counting/tst_counting.cpp QT = core testlib +DEFINES += TESTLIB_VERBOSITY_ARG="-v1" + mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target diff --git a/tests/auto/testlib/selftests/verbose2/verbose2.pro b/tests/auto/testlib/selftests/verbose2/verbose2.pro index bf54904488..d4765f01b5 100644 --- a/tests/auto/testlib/selftests/verbose2/verbose2.pro +++ b/tests/auto/testlib/selftests/verbose2/verbose2.pro @@ -4,6 +4,8 @@ SOURCES += ../counting/tst_counting.cpp QT = core testlib +DEFINES += TESTLIB_VERBOSITY_ARG="-v2" + mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target |