diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2013-08-14 11:05:10 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-22 08:48:27 +0200 |
commit | f39c751953326ef66ce57ff6fe1a1c82d273d889 (patch) | |
tree | ee9d7f1e2eb525c88b175930be13a76f1a7245b1 | |
parent | 7a53f30ee48b1073333cd40bed1ab7473e3bf1f6 (diff) | |
download | qtlocation-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>
-rw-r--r-- | tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp | 28 |
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) |