summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Wilson <alex.wilson@nokia.com>2012-01-09 10:44:45 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-09 01:51:22 +0100
commitf75c61a5eed56327fce5a1d798085bc950178089 (patch)
treef1e086db88b346a761f9056368cf157b6830fdae /tests
parente532a721ea0090e0efb35b6903cfd06b6943d4ee (diff)
downloadqtlocation-f75c61a5eed56327fce5a1d798085bc950178089.tar.gz
Make QNmeaPositionInfoSource tests less aggressive with timing
Should hopefully reduce flakiness. Change-Id: I9b459fb2b16dd6b653c9726c23d25dcedc0233f6 Reviewed-by: David Laing <david.laing@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp54
1 files changed, 26 insertions, 28 deletions
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
index be6513ae..be9849c8 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
@@ -233,29 +233,27 @@ void tst_QNmeaPositionInfoSource::startUpdates_withTimeout()
if (m_mode == QNmeaPositionInfoSource::SimulationMode) {
// the first sentence primes the simulation
proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt).toLatin1());
- proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addMSecs(50)).toLatin1());
- proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addSecs(1)).toLatin1());
- proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addSecs(2)).toLatin1());
+ proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addMSecs(10)).toLatin1());
+ proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addMSecs(1100)).toLatin1());
+ proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addMSecs(2200)).toLatin1());
proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addSecs(9)).toLatin1());
int i = 0;
- for (int j = 0; j < 3; ++j) {
- i = 0;
- for (; i < 12; ++i) {
- QTest::qWait(100);
- if ((spyUpdate.count() == 1) && (spyTimeout.count() == 0))
- break;
- }
- QVERIFY((spyUpdate.count() == 1) && (spyTimeout.count() == 0));
- spyUpdate.clear();
- for (; i < 10; ++i) {
- QTest::qWait(100);
- }
+ QTime t;
+ t.start();
+
+ for (int j = 1; j < 4; ++j) {
+ QTRY_COMPARE(spyUpdate.count(), j);
+ QCOMPARE(spyTimeout.count(), 0);
+ int time = t.elapsed();
+ QVERIFY((time > j*1000 - 300) && (time < j*1000 + 300));
}
+ spyUpdate.clear();
+
i = 0;
- for (; i < 72; ++i) {
+ for (; i < 75; ++i) {
QTest::qWait(100);
if ((spyUpdate.count() == 0) && (spyTimeout.count() == 1))
break;
@@ -263,7 +261,7 @@ void tst_QNmeaPositionInfoSource::startUpdates_withTimeout()
QVERIFY((spyUpdate.count() == 0) && (spyTimeout.count() == 1));
spyTimeout.clear();
- for (; i < 72; ++i) {
+ for (; i < 75; ++i) {
QTest::qWait(100);
if ((spyUpdate.count() == 1) && (spyTimeout.count() == 0))
break;
@@ -275,37 +273,37 @@ void tst_QNmeaPositionInfoSource::startUpdates_withTimeout()
// dt + 900
QVERIFY(spyUpdate.count() == 0 && spyTimeout.count() == 0);
proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addSecs(1)).toLatin1());
- QTest::qWait(200);
- // dt + 1100
+ QTest::qWait(300);
+ // dt + 1200
QVERIFY(spyUpdate.count() == 1 && spyTimeout.count() == 0);
spyUpdate.clear();
- QTest::qWait(800);
+ QTest::qWait(700);
// dt + 1900
QVERIFY(spyUpdate.count() == 0 && spyTimeout.count() == 0);
proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addSecs(2)).toLatin1());
- QTest::qWait(200);
- // dt + 2100
+ QTest::qWait(300);
+ // dt + 2200
QVERIFY(spyUpdate.count() == 1 && spyTimeout.count() == 0);
spyUpdate.clear();
- QTest::qWait(800);
+ QTest::qWait(700);
// dt + 2900
QVERIFY(spyUpdate.count() == 0 && spyTimeout.count() == 0);
proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addSecs(3)).toLatin1());
- QTest::qWait(200);
- // dt + 3100
+ QTest::qWait(300);
+ // dt + 3200
QVERIFY(spyUpdate.count() == 1 && spyTimeout.count() == 0);
spyUpdate.clear();
- QTest::qWait(3800);
+ QTest::qWait(3700);
// dt + 6900
QVERIFY(spyUpdate.count() == 0 && spyTimeout.count() == 1);
spyTimeout.clear();
proxy->feedBytes(QLocationTestUtils::createRmcSentence(dt.addSecs(7)).toLatin1());
- QTest::qWait(200);
- // dt + 7100
+ QTest::qWait(300);
+ // dt + 7200
QVERIFY(spyUpdate.count() == 1 && spyTimeout.count() == 0);
spyUpdate.clear();
}