summaryrefslogtreecommitdiffstats
path: root/tests/auto/testlib
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2023-06-04 02:14:23 +0300
committerAhmad Samir <a.samirh78@gmail.com>2023-06-27 20:29:49 +0300
commit8ace5b26aa7d0b0e800655089c6405d67dbaca12 (patch)
tree54590da404be1402054223ecfe5c36cf1ec6c219 /tests/auto/testlib
parenta8cf976ce6c82192bdf2d4b310e9ba0ea75bd0b0 (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.txt1
-rw-r--r--tests/auto/testlib/selftests/sleep/tst_sleep.cpp24
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)