summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2011-05-13 15:32:58 (GMT)
committerShane Kearns <shane.kearns@accenture.com>2011-05-13 15:32:58 (GMT)
commite2320ec17446dc6e851fcf4ea2d998177b0d8049 (patch)
tree6e9ca63949f5c16183ba4c64a64d59bb70358ac3
parent90109341466e4ed4344ad37d23bdf947fafa16bc (diff)
downloadQt-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.cpp6
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
}