summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPeter Kümmel <syntheticpp@gmx.net>2012-12-01 15:29:43 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-03 18:19:28 +0100
commit8e3d4f5e8752c035036a00c85b5dccc2676e82da (patch)
tree7ef17d0fac20aca858dbe01410e65cd8d77c9a8f /tests
parent0cac0796a0156c1745e2a276c20d4eabb5f88bf8 (diff)
Don't read from deleted member variable
QNetworkProxy::setApplicationProxy deletes factory set by QNetworkProxyFactory::setApplicationProxyFactory. Change-Id: Iaafd62d1cdb2045d69c7359cacc513056216826c Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp
index 590f6184e7..32515911e3 100644
--- a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp
+++ b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp
@@ -73,7 +73,8 @@ public:
return returnedList;
}
QList<QNetworkProxy> returnedList;
- int requestCounter;
+
+ static int requestCounter;
};
private slots:
@@ -92,6 +93,8 @@ private:
QDebugProxyFactory *factory;
};
+int tst_QNetworkProxyFactory::QDebugProxyFactory::requestCounter = 0;
+
tst_QNetworkProxyFactory::tst_QNetworkProxyFactory()
{
factory = new QDebugProxyFactory;
@@ -204,6 +207,7 @@ void tst_QNetworkProxyFactory::systemProxyForQuery_local()
// set an arbitrary proxy
QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::HttpProxy, proxyHost, 80));
+ factory = 0;
// localhost
list = QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery(QUrl("http://localhost/")));
@@ -231,6 +235,7 @@ void tst_QNetworkProxyFactory::systemProxyForQuery_local()
// disable proxy
QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::NoProxy));
+ factory = 0;
// localhost
list = QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery(QUrl("http://localhost/")));
@@ -328,7 +333,7 @@ void tst_QNetworkProxyFactory::inNetworkAccessManager()
QFETCH(QNetworkConfiguration, config);
QFETCH(QList<QNetworkProxy>, proxies);
- int count = factory->requestCounter;
+ int count = QDebugProxyFactory::requestCounter;
QNetworkAccessManager manager;
manager.setConfiguration(config);
@@ -340,11 +345,12 @@ void tst_QNetworkProxyFactory::inNetworkAccessManager()
QTestEventLoop::instance().enterLoop(30);
delete reply;
- if (count == factory->requestCounter) {
+ if (count == QDebugProxyFactory::requestCounter) {
//RND phones are preconfigured with several test access points which won't work without a matching SIM
//If the network fails to start, QNAM won't ask the factory for proxies so we can't test.
QSKIP("network configuration didn't start");
}
+ QVERIFY(factory);
qDebug() << "testing network configuration for" << config.name();
foreach (QNetworkProxy proxy, factory->returnedList) {