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)));
}
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