diff options
Diffstat (limited to 'tests/auto/testlib/selftests')
4 files changed, 20 insertions, 10 deletions
diff --git a/tests/auto/testlib/selftests/expected_benchlibcallgrind_0.txt b/tests/auto/testlib/selftests/expected_benchlibcallgrind_0.txt index 750dcf4736..6986559bbf 100644 --- a/tests/auto/testlib/selftests/expected_benchlibcallgrind_0.txt +++ b/tests/auto/testlib/selftests/expected_benchlibcallgrind_0.txt @@ -1,6 +1,8 @@ ********* Start testing of tst_BenchlibCallgrind ********* Config: Using QtTest library PASS : tst_BenchlibCallgrind::initTestCase() +FAIL! : tst_BenchlibCallgrind::failInChildProcess() Running under valgrind! + Loc: [qtbase/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp(0)] SKIP : tst_BenchlibCallgrind::twoHundredMillionInstructions() This test is only defined for gcc and x86. Loc: [qtbase/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp(0)] PASS : tst_BenchlibCallgrind::cleanupTestCase() diff --git a/tests/auto/testlib/selftests/expected_benchlibcallgrind_1.txt b/tests/auto/testlib/selftests/expected_benchlibcallgrind_1.txt index 07365bb9e8..e00d0546f0 100644 --- a/tests/auto/testlib/selftests/expected_benchlibcallgrind_1.txt +++ b/tests/auto/testlib/selftests/expected_benchlibcallgrind_1.txt @@ -1,9 +1,11 @@ ********* Start testing of tst_BenchlibCallgrind ********* -Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@ +Config: Using QtTest library PASS : tst_BenchlibCallgrind::initTestCase() +FAIL! : tst_BenchlibCallgrind::failInChildProcess() Running under valgrind! + Loc: [qtbase/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp(0)] PASS : tst_BenchlibCallgrind::twoHundredMillionInstructions() RESULT : tst_BenchlibCallgrind::twoHundredMillionInstructions(): - 200,000,158 instruction reads per iteration (total: 200,000,158, iterations: 1) + 200,000,144 instruction reads per iteration (total: 200,000,144, iterations: 1) PASS : tst_BenchlibCallgrind::cleanupTestCase() -Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted +Totals: 3 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms ********* Finished testing of tst_BenchlibCallgrind ********* diff --git a/tests/auto/testlib/selftests/expected_benchlibcallgrind_2.txt b/tests/auto/testlib/selftests/expected_benchlibcallgrind_2.txt new file mode 100644 index 0000000000..b905431d7c --- /dev/null +++ b/tests/auto/testlib/selftests/expected_benchlibcallgrind_2.txt @@ -0,0 +1,5 @@ +********* Start testing of tst_BenchlibCallgrind ********* +Config: Using QtTest library +PASS : tst_BenchlibCallgrind::initTestCase() +FAIL! : tst_BenchlibCallgrind::failInChildProcess() Running under valgrind! + Loc: [qtbase/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp(0)] diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp index ca8fee582a..5fdd5aa6d9 100644 --- a/tests/auto/testlib/selftests/tst_selftests.cpp +++ b/tests/auto/testlib/selftests/tst_selftests.cpp @@ -692,17 +692,18 @@ bool TestLogger::shouldIgnoreTest(const QString &test) const #endif if (test == "benchlibcallgrind") { -#if !(defined(__GNUC__) && defined(__i386) && defined(Q_OS_LINUX)) - // Skip on platforms where callgrind is not available - return true; -#else +#if defined(__GNUC__) && (defined(__i386) || defined(__x86_64)) && defined(Q_OS_LINUX) // Check that it's actually available QProcess checkProcess; - QStringList args; - args << "--version"; + QStringList args{u"--version"_qs}; checkProcess.start("valgrind", args); - if (!checkProcess.waitForFinished(-1)) + if (!checkProcess.waitForFinished(-1)) { WARN("Valgrind broken or not available. Not running benchlibcallgrind test!"); + return true; + } +#else + // Skip on platforms where callgrind is not available + return true; #endif } |