diff options
author | Shane Kearns <shane.kearns@accenture.com> | 2011-05-13 15:32:58 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@accenture.com> | 2011-05-13 15:32:58 (GMT) |
commit | e2320ec17446dc6e851fcf4ea2d998177b0d8049 (patch) | |
tree | 6e9ca63949f5c16183ba4c64a64d59bb70358ac3 | |
parent | 90109341466e4ed4344ad37d23bdf947fafa16bc (diff) | |
download | Qt-e2320ec17446dc6e851fcf4ea2d998177b0d8049.zip Qt-e2320ec17446dc6e851fcf4ea2d998177b0d8049.tar.gz Qt-e2320ec17446dc6e851fcf4ea2d998177b0d8049.tar.bz2 |
Fix instability in QNetworkConfigurationManager autotest
QThread::isFinished() can return false after the finished() signal is
emitted, so test the event loop's timeout() function instead.
Don't compare prescan configurations, as these may be cached by the OS.
It was causing the test to fail on linux if run before any other network
test.
Reviewed-by: mread
-rw-r--r-- | tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp b/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp index c270eb8..8939ffe 100644 --- a/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp +++ b/tests/auto/qnetworkconfigurationmanager/tst_qnetworkconfigurationmanager.cpp @@ -357,7 +357,7 @@ void tst_QNetworkConfigurationManager::usedInThread() connect(&thread, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop())); thread.start(); QTestEventLoop::instance().enterLoop(100); //QTRY_VERIFY could take ~90 seconds to time out in the thread - QVERIFY(thread.isFinished()); + QVERIFY(!QTestEventLoop::instance().timeout()); qDebug() << "prescan:" << thread.preScanConfigs.count(); qDebug() << "postscan:" << thread.configs.count(); @@ -368,7 +368,9 @@ void tst_QNetworkConfigurationManager::usedInThread() QTRY_VERIFY(spy.count() == 1); //wait for scan to complete QList<QNetworkConfiguration> configs = manager.allConfigurations(); QCOMPARE(thread.configs, configs); - QCOMPARE(thread.preScanConfigs, preScanConfigs); + //Don't compare pre scan configs, because these may be cached and therefore give different results + //which makes the test unstable. The post scan results should have all configurations every time + //QCOMPARE(thread.preScanConfigs, preScanConfigs); #endif } |