summaryrefslogtreecommitdiff
path: root/tests/auto
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@digia.com>2013-08-14 11:05:10 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-22 08:48:27 +0200
commitf39c751953326ef66ce57ff6fe1a1c82d273d889 (patch)
treeee9d7f1e2eb525c88b175930be13a76f1a7245b1 /tests/auto
parent7a53f30ee48b1073333cd40bed1ab7473e3bf1f6 (diff)
downloadqtlocation-f39c751953326ef66ce57ff6fe1a1c82d273d889.tar.gz
Increase reliability of nmea auto tests on Windows
The default timeouts seem to be to small Change-Id: Idc9f9a4bd017a9ce1fb5de70f41075b8ff4bc0ed Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
index 8dc11bb1..4b5f4ff6 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
@@ -43,6 +43,34 @@
#include "tst_qnmeapositioninfosource.h"
+#ifdef Q_OS_WIN
+
+// Windows seems to require longer timeouts and step length
+// We override the standard QTestCase related macros
+
+#ifdef QTRY_COMPARE_WITH_TIMEOUT
+#undef QTRY_COMPARE_WITH_TIMEOUT
+#endif
+#define QTRY_COMPARE_WITH_TIMEOUT(__expr, __expected, __timeout) \
+do { \
+ const int __step = 100; \
+ const int __timeoutValue = __timeout; \
+ if ((__expr) != (__expected)) { \
+ QTest::qWait(0); \
+ } \
+ for (int __i = 0; __i < __timeoutValue && ((__expr) != (__expected)); __i+=__step) { \
+ QTest::qWait(__step); \
+ } \
+ QCOMPARE(__expr, __expected); \
+} while (0)
+
+#ifdef QTRY_COMPARE
+#undef QTRY_COMPARE
+#endif
+#define QTRY_COMPARE(__expr, __expected) QTRY_COMPARE_WITH_TIMEOUT(__expr, __expected, 10000)
+
+#endif
+
tst_QNmeaPositionInfoSource::tst_QNmeaPositionInfoSource(QNmeaPositionInfoSource::UpdateMode mode, QObject *parent)
: QObject(parent),
m_mode(mode)