diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2023-06-04 02:14:23 +0300 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2023-06-27 20:29:49 +0300 |
commit | 8ace5b26aa7d0b0e800655089c6405d67dbaca12 (patch) | |
tree | 54590da404be1402054223ecfe5c36cf1ec6c219 /tests/auto/testlib | |
parent | a8cf976ce6c82192bdf2d4b310e9ba0ea75bd0b0 (diff) |
QTest: port qSleep() to std::this_thread::sleep_for
As requested in code review. Big improvement, code-wise.
tst_Sleep::wait() was failing on the CI, so be more accurate by using
QElapsedTimer::durationElapsed(), which returns nanoseconds.
Pick-to: 6.6
Change-Id: I5bed6d6bd768adfdecab2475e6cbe245c20aabd7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/testlib')
-rw-r--r-- | tests/auto/testlib/selftests/sleep/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/auto/testlib/selftests/sleep/tst_sleep.cpp | 24 |
2 files changed, 18 insertions, 7 deletions
diff --git a/tests/auto/testlib/selftests/sleep/CMakeLists.txt b/tests/auto/testlib/selftests/sleep/CMakeLists.txt index c7d04abc89..dcd6ab690b 100644 --- a/tests/auto/testlib/selftests/sleep/CMakeLists.txt +++ b/tests/auto/testlib/selftests/sleep/CMakeLists.txt @@ -12,6 +12,7 @@ qt_internal_add_executable(sleep tst_sleep.cpp LIBRARIES Qt::Test + Qt::CorePrivate ) ## Scopes: diff --git a/tests/auto/testlib/selftests/sleep/tst_sleep.cpp b/tests/auto/testlib/selftests/sleep/tst_sleep.cpp index ebefbf44d6..c259b2e475 100644 --- a/tests/auto/testlib/selftests/sleep/tst_sleep.cpp +++ b/tests/auto/testlib/selftests/sleep/tst_sleep.cpp @@ -6,6 +6,15 @@ #include <QtCore/QElapsedTimer> #include <QTest> +#ifdef Q_OS_UNIX +#include <QtCore/private/qcore_unix_p.h> +#include <QtCore/qsystemdetection.h> + +#include <time.h> +#endif + +using namespace std::chrono_literals; + class tst_Sleep: public QObject { Q_OBJECT @@ -21,13 +30,13 @@ void tst_Sleep::sleep() t.start(); QTest::qSleep(100); - QVERIFY(t.elapsed() > 90); + QCOMPARE_GE(t.durationElapsed(), 90ms); QTest::qSleep(1000); - QVERIFY(t.elapsed() > 1000); + QCOMPARE_GE(t.durationElapsed(), 1s); QTest::qSleep(1000 * 10); // 10 seconds - QVERIFY(t.elapsed() > 1000 * 10); + QCOMPARE_GE(t.durationElapsed(), 10s); } void tst_Sleep::wait() @@ -35,17 +44,18 @@ void tst_Sleep::wait() QElapsedTimer t; t.start(); + t.start(); QTest::qWait(1); - QVERIFY(t.elapsed() >= 1); + QCOMPARE_GE(t.durationElapsed(), 1ms); QTest::qWait(10); - QVERIFY(t.elapsed() >= 11); + QCOMPARE_GE(t.durationElapsed(), 11ms); QTest::qWait(100); - QVERIFY(t.elapsed() >= 111); + QCOMPARE_GE(t.durationElapsed(), 111ms); QTest::qWait(1000); - QVERIFY(t.elapsed() >= 1111); + QCOMPARE_GE(t.durationElapsed(), 1111ms); } QTEST_MAIN(tst_Sleep) |