QThread-test: Fix test on Windows (timer inaccuracy).
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Mon, 12 Dec 2011 15:54:09 +0000 (16:54 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 14 Dec 2011 22:26:15 +0000 (23:26 +0100)
- Tolerate WaitTime - 1 (799ms when expecting 800ms).
- Remove commented-out code.

Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Change-Id: Ibe246d47ab7667692386b0f9333150c195948282
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
tests/auto/corelib/thread/qthread/tst_qthread.cpp

index a8e04db..7fc8710 100644 (file)
@@ -1074,17 +1074,14 @@ void tst_QThread::wait2()
     thread.start();
     timer.start();
     QVERIFY(!thread.wait(Waiting_Thread::WaitTime));
-    qint64 elapsed = timer.elapsed();
-
-    QVERIFY(elapsed >= Waiting_Thread::WaitTime);
-    //QVERIFY(elapsed < Waiting_Thread::WaitTime * 1.4);
+    qint64 elapsed = timer.elapsed(); // On Windows, we sometimes get (WaitTime - 1).
+    QVERIFY2(elapsed >= Waiting_Thread::WaitTime - 1, qPrintable(QString::fromLatin1("elapsed: %1").arg(elapsed)));
 
     timer.start();
     thread.cond1.wakeOne();
     QVERIFY(thread.wait(/*Waiting_Thread::WaitTime * 1.4*/));
     elapsed = timer.elapsed();
-    QVERIFY(elapsed >= Waiting_Thread::WaitTime);
-    //QVERIFY(elapsed < Waiting_Thread::WaitTime * 1.4);
+    QVERIFY2(elapsed - Waiting_Thread::WaitTime >= -1, qPrintable(QString::fromLatin1("elapsed: %1").arg(elapsed)));
 }
 
 
@@ -1116,9 +1113,7 @@ void tst_QThread::wait3_slowDestructor()
     timer.start();
     QVERIFY(!thread.wait(Waiting_Thread::WaitTime));
     qint64 elapsed = timer.elapsed();
-
-    QVERIFY(elapsed >= Waiting_Thread::WaitTime);
-    //QVERIFY(elapsed < Waiting_Thread::WaitTime * 1.4);
+    QVERIFY2(elapsed >= Waiting_Thread::WaitTime - 1, qPrintable(QString::fromLatin1("elapsed: %1").arg(elapsed)));
 
     slow.cond.wakeOne();
     //now the thread should finish quickly