summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2012-01-23 08:52:13 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-10 15:22:03 +0100
commit358c14821bf907025c1b3db6ff3f8e3bd3cdbb0f (patch)
tree704554baed05d21dd9e9d9b619681542eb4a068c /tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
parentc50f026a22b675bdebe61c2d185913926fdf8f1c (diff)
Run tst_QEventDispatcher with the GUI event dispatchers as well
Since some GUI event dispatchers are complete reimplementations and do not build on the corelib ones, we want to run the same tests with the other dispatcher. Since this is a GUI test now, we need to make sure to drain system events queued during application startup to make sure we can reliably run the test functions. Change-Id: I4905db70bc8f8584c4ef1f4d767824040281452c Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp')
-rw-r--r--tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp b/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
index 07bd73f0d7..d06912ee91 100644
--- a/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
+++ b/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
@@ -39,7 +39,11 @@
**
****************************************************************************/
-#include <QtCore/QCoreApplication>
+#ifdef QT_GUI_LIB
+# include <QtGui/QGuiApplication>
+#else
+# include <QtCore/QCoreApplication>
+#endif
#include <QtTest/QtTest>
enum {
@@ -68,6 +72,7 @@ public:
{ }
private slots:
+ void initTestCase();
void registerTimer();
/* void registerSocketNotifier(); */ // Not implemented here, see tst_QSocketNotifier instead
/* void registerEventNotifiier(); */ // Not implemented here, see tst_QWinEventNotifier instead
@@ -88,6 +93,16 @@ bool tst_QEventDispatcher::event(QEvent *e)
return QObject::event(e);
}
+// drain the system event queue after the test starts to avoid destabilizing the test functions
+void tst_QEventDispatcher::initTestCase()
+{
+ QElapsedTimer elapsedTimer;
+ elapsedTimer.start();
+ while (!elapsedTimer.hasExpired(CoarseTimerInterval) && eventDispatcher->processEvents(QEventLoop::AllEvents)) {
+ ;
+ }
+}
+
// test that the eventDispatcher's timer implementation is complete and working
void tst_QEventDispatcher::registerTimer()
{