diff options
author | Andreas Buhr <andreas.buhr@qt.io> | 2020-10-06 15:07:06 +0200 |
---|---|---|
committer | Andreas Buhr <andreas.buhr@qt.io> | 2020-11-01 01:28:55 +0200 |
commit | 40495ce75cb36a5bc750e8ef2df4473534586a81 (patch) | |
tree | 25acb3b4831d7603f7d93ebc8950f7a6178fa06f | |
parent | 71223cc92ba1039f0dfde1bb30d3cccdab30c4dd (diff) |
Fix tst_qtimer::zeroTimer unit test
The tst_qtimer::zeroTimer unit test was relying on
QCoreApplication::processEvents processing all pending
events. However, for the glib backend, this is not the case.
For the glib backend, if there is an event of high
priority pending, low priority events are not processed.
This patch changes the test to use the overload with
timeout of processEvents, which does process events
until there are no more events or the timeout is reached.
Fixes: QTBUG-84291
Change-Id: I429141507b8603b57a191efa21f154493d75cc9e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r-- | tests/auto/corelib/kernel/qtimer/BLACKLIST | 2 | ||||
-rw-r--r-- | tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/tests/auto/corelib/kernel/qtimer/BLACKLIST b/tests/auto/corelib/kernel/qtimer/BLACKLIST index 977b3a673a..e69de29bb2 100644 --- a/tests/auto/corelib/kernel/qtimer/BLACKLIST +++ b/tests/auto/corelib/kernel/qtimer/BLACKLIST @@ -1,2 +0,0 @@ -[zeroTimer] -ubuntu-20.04 diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp index 1db210e0bd..00686ab46e 100644 --- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp +++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp @@ -94,11 +94,13 @@ void tst_QTimer::zeroTimer() { QTimer timer; timer.setInterval(0); + timer.setSingleShot(true); QSignalSpy timeoutSpy(&timer, &QTimer::timeout); timer.start(); - QCoreApplication::processEvents(); + // Pass timeout to work round glib issue, see QTBUG-84291. + QCoreApplication::processEvents(QEventLoop::AllEvents, INT_MAX); QCOMPARE(timeoutSpy.count(), 1); } |