summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2011-05-13 16:32:58 +0100
committerShane Kearns <shane.kearns@accenture.com>2011-05-13 16:32:58 +0100
commite2320ec17446dc6e851fcf4ea2d998177b0d8049 (patch)
tree6e9ca63949f5c16183ba4c64a64d59bb70358ac3
parent90109341466e4ed4344ad37d23bdf947fafa16bc (diff)
downloadqt4-tools-e2320ec17446dc6e851fcf4ea2d998177b0d8049.tar.gz
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 c270eb8813..8939ffe38e 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
}