diff options
author | Alex Wilson <alex.wilson@nokia.com> | 2012-01-09 10:44:45 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-09 01:51:22 +0100 |
commit | f75c61a5eed56327fce5a1d798085bc950178089 (patch) | |
tree | f1e086db88b346a761f9056368cf157b6830fdae | |
parent | e532a721ea0090e0efb35b6903cfd06b6943d4ee (diff) | |
download | qtlocation-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>
-rw-r--r-- | tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp | 54 |
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(); } |