diff options
Diffstat (limited to 'tests/auto/network')
17 files changed, 496 insertions, 61 deletions
diff --git a/tests/auto/network/access/qnetworkcookie/tst_qnetworkcookie.cpp b/tests/auto/network/access/qnetworkcookie/tst_qnetworkcookie.cpp index bcd9cbdff7..4df1084eac 100644 --- a/tests/auto/network/access/qnetworkcookie/tst_qnetworkcookie.cpp +++ b/tests/auto/network/access/qnetworkcookie/tst_qnetworkcookie.cpp @@ -238,7 +238,7 @@ void tst_QNetworkCookie::parseSingleCookie_data() QTest::newRow("path-with-quotes2") << "a=b; path = \"/with\\\"Quotes\"" << cookie; cookie.setPath(QString::fromUtf8("/R\303\251sum\303\251")); - QTest::newRow("path-with-utf8") << "a=b;path=/R\303\251sum\303\251" << cookie; + QTest::newRow("path-with-utf8") << QString::fromUtf8("a=b;path=/R\303\251sum\303\251") << cookie; QTest::newRow("path-with-utf8-2") << "a=b;path=/R%C3%A9sum%C3%A9" << cookie; cookie.setPath(QString()); @@ -256,9 +256,9 @@ void tst_QNetworkCookie::parseSingleCookie_data() cookie.setDomain(QString::fromUtf8(".d\303\270gn\303\245pent.troll.no")); QTest::newRow("idn-domain1") << "a=b;domain=.xn--dgnpent-gxa2o.troll.no" << cookie; - QTest::newRow("idn-domain2") << "a=b;domain=.d\303\270gn\303\245pent.troll.no" << cookie; + QTest::newRow("idn-domain2") << QString::fromUtf8("a=b;domain=.d\303\270gn\303\245pent.troll.no") << cookie; QTest::newRow("idn-domain3") << "a=b;domain=.XN--DGNPENT-GXA2O.TROLL.NO" << cookie; - QTest::newRow("idn-domain4") << "a=b;domain=.D\303\230GN\303\205PENT.troll.NO" << cookie; + QTest::newRow("idn-domain4") << QString::fromUtf8("a=b;domain=.D\303\230GN\303\205PENT.troll.NO") << cookie; cookie.setDomain(".qt.nokia.com"); cookie.setPath("/"); @@ -595,7 +595,7 @@ void tst_QNetworkCookie::parseSingleCookie() QFETCH(QString, cookieString); QFETCH(QNetworkCookie, expectedCookie); - QList<QNetworkCookie> result = QNetworkCookie::parseCookies(cookieString.toLatin1()); + QList<QNetworkCookie> result = QNetworkCookie::parseCookies(cookieString.toUtf8()); //QEXPECT_FAIL("network2", "QDateTime parsing problem: the date is beyond year 8000", Abort); QCOMPARE(result.count(), 1); @@ -723,7 +723,7 @@ void tst_QNetworkCookie::parseMultipleCookies() QFETCH(QString, cookieString); QFETCH(QList<QNetworkCookie>, expectedCookies); - QList<QNetworkCookie> result = QNetworkCookie::parseCookies(cookieString.toLatin1()); + QList<QNetworkCookie> result = QNetworkCookie::parseCookies(cookieString.toUtf8()); QEXPECT_FAIL("network1", "Apparently multiple cookies set in one request (and an invalid date)", Abort); QCOMPARE(result, expectedCookies); diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index 2d784fcbbc..824f5fc507 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -405,6 +405,10 @@ private Q_SLOTS: void backgroundRequest_data(); void backgroundRequest(); + void backgroundRequestInterruption_data(); + void backgroundRequestInterruption(); + void backgroundRequestConnectInBackground_data(); + void backgroundRequestConnectInBackground(); // NOTE: This test must be last! void parentingRepliesToTheApp(); @@ -1402,6 +1406,11 @@ void tst_QNetworkReply::cleanup() // clear cookies cookieJar->setAllCookies(QList<QNetworkCookie>()); + + // disconnect manager signals + manager.disconnect(SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>))); + manager.disconnect(SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*))); + manager.disconnect(SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); } void tst_QNetworkReply::stateChecking() @@ -3812,9 +3821,13 @@ void tst_QNetworkReply::ioPutToFileFromSocket() QFETCH(QByteArray, data); SocketPair socketpair; - socketpair.create(); - QVERIFY(socketpair.endPoints[0] && socketpair.endPoints[1]); + QTRY_VERIFY(socketpair.create()); //QTRY_VERIFY as a workaround for QTBUG-24451 +#ifdef Q_OS_WIN + //128k and 2M tests regularly fail. Assumed same characteristics as ioPostToHttpFromSocket + if (data.size() > 1000) + QSKIP("unstable on windows - QTBUG-25386"); +#endif socketpair.endPoints[0]->write(data); QNetworkReplyPtr reply(manager.put(QNetworkRequest(url), socketpair.endPoints[1])); socketpair.endPoints[0]->close(); @@ -4100,9 +4113,13 @@ void tst_QNetworkReply::ioPostToHttpFromSocket() QFETCH(QByteArray, data); QFETCH(QUrl, url); QFETCH(QNetworkProxy, proxy); +#ifdef Q_OS_WIN + //QTBUG-25386 hits one of the 128k tests 50% of the time, one of the 4k tests rarely (but at least 1%) + if (data.size() > 1000) + QSKIP("unstable on windows - QTBUG-25386"); +#endif SocketPair socketpair; - socketpair.create(); - QVERIFY(socketpair.endPoints[0] && socketpair.endPoints[1]); + QTRY_VERIFY(socketpair.create()); //QTRY_VERIFY as a workaround for QTBUG-24451 socketpair.endPoints[0]->write(data); @@ -4173,8 +4190,7 @@ void tst_QNetworkReply::ioPostToHttpFromSocketSynchronous() QFETCH(QByteArray, data); SocketPair socketpair; - QVERIFY(socketpair.create()); - QVERIFY(socketpair.endPoints[0] && socketpair.endPoints[1]); + QTRY_VERIFY(socketpair.create()); //QTRY_VERIFY as a workaround for QTBUG-24451 socketpair.endPoints[0]->write(data); socketpair.endPoints[0]->waitForBytesWritten(5000); // ### for 4.8: make the socket pair unbuffered, to not read everything in one go in QNetworkReplyImplPrivate::setup() @@ -4292,8 +4308,7 @@ void tst_QNetworkReply::ioPostToHttpNoBufferFlag() QByteArray data = QByteArray("daaaaaaataaaaaaa"); // create a sequential QIODevice by feeding the data into a local TCP server SocketPair socketpair; - socketpair.create(); - QVERIFY(socketpair.endPoints[0] && socketpair.endPoints[1]); + QTRY_VERIFY(socketpair.create()); //QTRY_VERIFY as a workaround for QTBUG-24451 socketpair.endPoints[0]->write(data); QUrl url = "http://" + QtNetworkSettings::serverName() + "/qtest/protected/cgi-bin/md5sum.cgi"; @@ -6811,25 +6826,45 @@ void tst_QNetworkReply::ftpAuthentication() void tst_QNetworkReply::backgroundRequest_data() { + QTest::addColumn<QUrl>("url"); QTest::addColumn<bool>("background"); QTest::addColumn<int>("policy"); QTest::addColumn<QNetworkReply::NetworkError>("error"); - QTest::newRow("fg, normal") << false << 0 << QNetworkReply::NoError; - QTest::newRow("bg, normal") << true << 0 << QNetworkReply::NoError; - QTest::newRow("fg, nobg") << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; - QTest::newRow("bg, nobg") << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; + QUrl httpurl("http://" + QtNetworkSettings::serverName()); + QUrl httpsurl("https://" + QtNetworkSettings::serverName()); + QUrl ftpurl("ftp://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt"); + + QTest::newRow("http, fg, normal") << httpurl << false << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("http, bg, normal") << httpurl << true << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("http, fg, nobg") << httpurl << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; + QTest::newRow("http, bg, nobg") << httpurl << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; + +#ifndef QT_NO_SSL + QTest::newRow("https, fg, normal") << httpsurl << false << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("https, bg, normal") << httpsurl << true << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("https, fg, nobg") << httpsurl << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; + QTest::newRow("https, bg, nobg") << httpsurl << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; +#endif + + QTest::newRow("ftp, fg, normal") << ftpurl << false << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("ftp, bg, normal") << ftpurl << true << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("ftp, fg, nobg") << ftpurl << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; + QTest::newRow("ftp, bg, nobg") << ftpurl << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; } +//test purpose: background requests can't be started when not allowed void tst_QNetworkReply::backgroundRequest() { #ifdef QT_BUILD_INTERNAL +#ifndef QT_NO_BEARERMANAGEMENT + QFETCH(QUrl, url); QFETCH(bool, background); QFETCH(int, policy); QFETCH(QNetworkReply::NetworkError, error); - QNetworkRequest request(QUrl("http://" + QtNetworkSettings::serverName())); + QNetworkRequest request(url); if (background) request.setAttribute(QNetworkRequest::BackgroundRequestAttribute, QVariant::fromValue(true)); @@ -6837,6 +6872,11 @@ void tst_QNetworkReply::backgroundRequest() //this preconstructs the session so we can change policies in advance manager.setConfiguration(networkConfiguration); +#ifndef QT_NO_SSL + connect(&manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), + SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); +#endif + const QWeakPointer<const QNetworkSession> session = QNetworkAccessManagerPrivate::getNetworkSession(&manager); QVERIFY(session); QNetworkSession::UsagePolicies original = session.data()->usagePolicies(); @@ -6851,6 +6891,138 @@ void tst_QNetworkReply::backgroundRequest() QVERIFY(reply->isFinished()); QCOMPARE(reply->error(), error); #endif +#endif +} + +void tst_QNetworkReply::backgroundRequestInterruption_data() +{ + QTest::addColumn<QUrl>("url"); + QTest::addColumn<bool>("background"); + QTest::addColumn<QNetworkReply::NetworkError>("error"); + + QUrl httpurl("http://" + QtNetworkSettings::serverName() + "/qtest/mediumfile"); + QUrl httpsurl("https://" + QtNetworkSettings::serverName() + "/qtest/mediumfile"); + QUrl ftpurl("ftp://" + QtNetworkSettings::serverName() + "/qtest/bigfile"); + + QTest::newRow("http, fg, nobg") << httpurl << false << QNetworkReply::NoError; + QTest::newRow("http, bg, nobg") << httpurl << true << QNetworkReply::BackgroundRequestNotAllowedError; + +#ifndef QT_NO_SSL + QTest::newRow("https, fg, nobg") << httpsurl << false << QNetworkReply::NoError; + QTest::newRow("https, bg, nobg") << httpsurl << true << QNetworkReply::BackgroundRequestNotAllowedError; +#endif + + QTest::newRow("ftp, fg, nobg") << ftpurl << false << QNetworkReply::NoError; + QTest::newRow("ftp, bg, nobg") << ftpurl << true << QNetworkReply::BackgroundRequestNotAllowedError; + +} + +//test purpose: background requests in progress are aborted when policy changes to disallow them +void tst_QNetworkReply::backgroundRequestInterruption() +{ +#ifdef QT_BUILD_INTERNAL +#ifndef QT_NO_BEARERMANAGEMENT + QFETCH(QUrl, url); + QFETCH(bool, background); + QFETCH(QNetworkReply::NetworkError, error); + + QNetworkRequest request(url); + + if (background) + request.setAttribute(QNetworkRequest::BackgroundRequestAttribute, QVariant::fromValue(true)); + + //this preconstructs the session so we can change policies in advance + manager.setConfiguration(networkConfiguration); + +#ifndef QT_NO_SSL + connect(&manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), + SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); +#endif + + const QWeakPointer<const QNetworkSession> session = QNetworkAccessManagerPrivate::getNetworkSession(&manager); + QVERIFY(session); + QNetworkSession::UsagePolicies original = session.data()->usagePolicies(); + QNetworkSessionPrivate::setUsagePolicies(*const_cast<QNetworkSession *>(session.data()), QNetworkSession::NoPolicy); + + request.setAttribute(QNetworkRequest::MaximumDownloadBufferSizeAttribute, 8192); + QNetworkReplyPtr reply(manager.get(request)); + reply->setReadBufferSize(1024); + + QSignalSpy spy(reply.data(), SIGNAL(readyRead())); + QTRY_VERIFY(spy.count() > 0); + + QNetworkSessionPrivate::setUsagePolicies(*const_cast<QNetworkSession *>(session.data()), QNetworkSession::NoBackgroundTrafficPolicy); + + QVERIFY(waitForFinish(reply) != Timeout); + if (session) + QNetworkSessionPrivate::setUsagePolicies(*const_cast<QNetworkSession *>(session.data()), original); + + QVERIFY(reply->isFinished()); + QCOMPARE(reply->error(), error); +#endif +#endif +} + +void tst_QNetworkReply::backgroundRequestConnectInBackground_data() +{ + QTest::addColumn<QUrl>("url"); + QTest::addColumn<bool>("background"); + + QUrl httpurl("http://" + QtNetworkSettings::serverName()); + QUrl ftpurl("ftp://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt"); + + QTest::newRow("http, fg") << httpurl << false; + QTest::newRow("http, bg") << httpurl << true; + + QTest::newRow("ftp, fg") << ftpurl << false; + QTest::newRow("ftp, bg") << ftpurl << true; +} + +//test purpose: check that backgroundness is propagated to the network session +void tst_QNetworkReply::backgroundRequestConnectInBackground() +{ +#ifdef QT_BUILD_INTERNAL +#ifndef QT_NO_BEARERMANAGEMENT + QFETCH(QUrl, url); + QFETCH(bool, background); + + QNetworkRequest request(url); + + if (background) + request.setAttribute(QNetworkRequest::BackgroundRequestAttribute, QVariant::fromValue(true)); + + QWeakPointer<const QNetworkSession> session = QNetworkAccessManagerPrivate::getNetworkSession(&manager); + //force QNAM to reopen the session. + if (session && session.data()->isOpen()) { + const_cast<QNetworkSession *>(session.data())->close(); + QCoreApplication::processEvents(); //let signals propagate inside QNAM + } + + //this preconstructs the session so we can change policies in advance + manager.setConfiguration(networkConfiguration); + + session = QNetworkAccessManagerPrivate::getNetworkSession(&manager); + QVERIFY(session); + QNetworkSession::UsagePolicies original = session.data()->usagePolicies(); + QNetworkSessionPrivate::setUsagePolicies(*const_cast<QNetworkSession *>(session.data()), QNetworkSession::NoPolicy); + + QNetworkReplyPtr reply(manager.get(request)); + + QVERIFY(waitForFinish(reply) != Timeout); + session = QNetworkAccessManagerPrivate::getNetworkSession(&manager); + if (session) { + QVariant cib = session.data()->sessionProperty(QStringLiteral("ConnectInBackground")); + if (!cib.isValid()) + QSKIP("inconclusive - ConnectInBackground session property not supported by the bearer plugin"); + QCOMPARE(cib.toBool(), background); + QNetworkSessionPrivate::setUsagePolicies(*const_cast<QNetworkSession *>(session.data()), original); + } else { + QSKIP("inconclusive - network session has been destroyed"); + } + + QVERIFY(reply->isFinished()); +#endif +#endif } // NOTE: This test must be last testcase in tst_qnetworkreply! diff --git a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp index 928dc48125..25764aacce 100644 --- a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp +++ b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp @@ -282,21 +282,21 @@ void tst_QNetworkRequest::setHeader_data() cookie.setName("a"); cookie.setValue("b"); QTest::newRow("Cookie-1") << QNetworkRequest::CookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie) << true << "Cookie" << "a=b"; QTest::newRow("SetCookie-1") << QNetworkRequest::SetCookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie) << true << "Set-Cookie" << "a=b"; cookie.setPath("/"); QTest::newRow("Cookie-2") << QNetworkRequest::CookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie) << true << "Cookie" << "a=b"; QTest::newRow("SetCookie-2") << QNetworkRequest::SetCookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie) << true << "Set-Cookie" << "a=b; path=/"; @@ -304,11 +304,11 @@ void tst_QNetworkRequest::setHeader_data() cookie2.setName("c"); cookie2.setValue("d"); QTest::newRow("Cookie-3") << QNetworkRequest::CookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie << cookie2) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie << cookie2) << true << "Cookie" << "a=b; c=d"; QTest::newRow("SetCookie-3") << QNetworkRequest::SetCookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie << cookie2) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie << cookie2) << true << "Set-Cookie" << "a=b; path=/, c=d"; } @@ -388,17 +388,17 @@ void tst_QNetworkRequest::rawHeaderParsing_data() cookie.setName("a"); cookie.setValue("b"); QTest::newRow("Cookie-1") << QNetworkRequest::CookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie) << true << "Cookie" << "a=b"; QTest::newRow("SetCookie-1") << QNetworkRequest::SetCookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie) << true << "Set-Cookie" << "a=b"; cookie.setPath("/"); QTest::newRow("SetCookie-2") << QNetworkRequest::SetCookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie) << true << "Set-Cookie" << "a=b; path=/"; @@ -407,12 +407,12 @@ void tst_QNetworkRequest::rawHeaderParsing_data() cookie2.setName("c"); cookie2.setValue("d"); QTest::newRow("Cookie-3") << QNetworkRequest::CookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie << cookie2) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie << cookie2) << true << "Cookie" << "a=b; c=d"; cookie.setPath("/"); QTest::newRow("SetCookie-3") << QNetworkRequest::SetCookieHeader - << qVariantFromValue(QList<QNetworkCookie>() << cookie << cookie2) + << QVariant::fromValue(QList<QNetworkCookie>() << cookie << cookie2) << true << "Set-Cookie" << "a=b; path=/, c=d"; } diff --git a/tests/auto/network/kernel/kernel.pro b/tests/auto/network/kernel/kernel.pro index 32ba8b41b7..14080a0548 100644 --- a/tests/auto/network/kernel/kernel.pro +++ b/tests/auto/network/kernel/kernel.pro @@ -3,7 +3,7 @@ SUBDIRS=\ qdnslookup \ qdnslookup_appless \ qhostinfo \ -# qnetworkproxyfactory \ # Uses a hardcoded proxy configuration + qnetworkproxyfactory \ qauthenticator \ qnetworkproxy \ qnetworkinterface \ diff --git a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp index c1400b82af..b4ef1b803b 100644 --- a/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp +++ b/tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp @@ -97,8 +97,10 @@ void tst_QDnsLookup::lookup_data() QTest::newRow("mx-empty") << int(QDnsLookup::MX) << "" << int(QDnsLookup::InvalidRequestError) << "" << "" << "" << "" << "" << "" << QByteArray(); QTest::newRow("mx-notfound") << int(QDnsLookup::MX) << "invalid." << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << QByteArray(); QTest::newRow("mx-ascii") << int(QDnsLookup::MX) << "troll.no" << int(QDnsLookup::NoError) << "" << "" << "10 smtp.trolltech.com" << "" << "" << "" << QByteArray(); +#if 0 // FIXME: we need an IDN MX record in the troll.no domain QTest::newRow("mx-idn") << int(QDnsLookup::MX) << QString::fromUtf8("råkat.se") << int(QDnsLookup::NoError) << "" << "" << "10 mail.cdr.se" << "" << "" << "" << QByteArray(); +#endif QTest::newRow("ns-empty") << int(QDnsLookup::NS) << "" << int(QDnsLookup::InvalidRequestError) << "" << "" << "" << "" << "" << "" << QByteArray(); QTest::newRow("ns-notfound") << int(QDnsLookup::NS) << "invalid." << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << QByteArray(); @@ -111,8 +113,10 @@ void tst_QDnsLookup::lookup_data() QTest::newRow("srv-empty") << int(QDnsLookup::SRV) << "" << int(QDnsLookup::InvalidRequestError) << "" << "" << "" << "" << "" << "" << QByteArray(); QTest::newRow("srv-notfound") << int(QDnsLookup::SRV) << "invalid." << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << QByteArray(); +#if 0 // FIXME: we need SRV records in the troll.no domain QTest::newRow("srv-idn") << int(QDnsLookup::SRV) << QString::fromUtf8("_xmpp-client._tcp.råkat.se") << int(QDnsLookup::NoError) << "" << "" << "" << "" << "" << "5 0 5224 jabber.cdr.se" << QByteArray(); +#endif QTest::newRow("txt-empty") << int(QDnsLookup::TXT) << "" << int(QDnsLookup::InvalidRequestError) << "" << "" << "" << "" << "" << "" << QByteArray(); QTest::newRow("txt-notfound") << int(QDnsLookup::TXT) << "invalid." << int(QDnsLookup::NotFoundError) << "" << "" << "" << "" << "" << "" << QByteArray(); diff --git a/tests/auto/network/kernel/qnetworkinterface/qnetworkinterface.pro b/tests/auto/network/kernel/qnetworkinterface/qnetworkinterface.pro index ba401579a6..694dec2ed7 100644 --- a/tests/auto/network/kernel/qnetworkinterface/qnetworkinterface.pro +++ b/tests/auto/network/kernel/qnetworkinterface/qnetworkinterface.pro @@ -3,5 +3,3 @@ TARGET = tst_qnetworkinterface SOURCES += tst_qnetworkinterface.cpp QT = core network testlib - -win32:CONFIG+=insignificant_test # QTBUG-24451 - localAddress() diff --git a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp index 9b7d21eff8..d8f5a0428f 100644 --- a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp +++ b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp @@ -133,6 +133,10 @@ void tst_QNetworkProxyFactory::systemProxyForQuery_data() QTest::newRow("imap") << (int)QNetworkProxyQuery::TcpSocket << QUrl() << QString() << QString("qt-project.org") << 0 << (int)QNetworkProxy::TunnelingCapability; QTest::newRow("autobind-server") << (int)QNetworkProxyQuery::TcpServer << QUrl() << QString() << QString() << 0 << (int)QNetworkProxy::ListeningCapability; QTest::newRow("web-server") << (int)QNetworkProxyQuery::TcpServer << QUrl() << QString() << QString() << 80 << (int)QNetworkProxy::ListeningCapability; + //windows: these should be bypassed if "bypass proxy server for local addresses" is ticked + foreach (QHostAddress address, QNetworkInterface::allAddresses()) { + QTest::newRow(qPrintable(address.toString())) << (int)QNetworkProxyQuery::TcpSocket << QUrl() << QString() << address.toString() << 0 << 0; + } //UDP QTest::newRow("udp") << (int)QNetworkProxyQuery::UdpSocket << QUrl() << QString() << QString() << 0 << (int)QNetworkProxy::UdpTunnelingCapability; diff --git a/tests/auto/network/network.pro b/tests/auto/network/network.pro index 2048d14dc8..64262a8632 100644 --- a/tests/auto/network/network.pro +++ b/tests/auto/network/network.pro @@ -6,7 +6,5 @@ SUBDIRS=\ ssl \ socket \ -win32 { - socket.CONFIG += no_check_target # QTBUG-24451 - all socket tests require waitForX - bearer.CONFIG += no_check_target # QTBUG-24503 - these tests fail if machine has a WLAN adaptor -} +win32: socket.CONFIG += no_check_target # QTBUG-24451 - all socket tests require waitForX +win32|mac:bearer.CONFIG += no_check_target # QTBUG-24503 - these tests fail if machine has a WLAN adaptor diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp index 2715bfc5dc..eeda46dfdc 100644 --- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp +++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp @@ -383,7 +383,7 @@ void tst_QLocalSocket::listenAndConnect() QVERIFY(socket->error() != QLocalSocket::UnknownSocketError); QCOMPARE(socket->state(), QLocalSocket::UnconnectedState); //QVERIFY(socket->socketDescriptor() == -1); - QCOMPARE(qVariantValue<QLocalSocket::LocalSocketError>(spyError.first()[0]), + QCOMPARE(qvariant_cast<QLocalSocket::LocalSocketError>(spyError.first()[0]), QLocalSocket::ServerNotFoundError); } @@ -403,19 +403,19 @@ void tst_QLocalSocket::listenAndConnect() QVERIFY(spyError.count() >= 0); if (canListen) { if (spyError.count() > 0) - QCOMPARE(qVariantValue<QLocalSocket::LocalSocketError>(spyError.first()[0]), + QCOMPARE(qvariant_cast<QLocalSocket::LocalSocketError>(spyError.first()[0]), QLocalSocket::SocketTimeoutError); } else { - QCOMPARE(qVariantValue<QLocalSocket::LocalSocketError>(spyError.first()[0]), + QCOMPARE(qvariant_cast<QLocalSocket::LocalSocketError>(spyError.first()[0]), QLocalSocket::ServerNotFoundError); } // Check first and last state - QCOMPARE(qVariantValue<QLocalSocket::LocalSocketState>(spyStateChanged.first()[0]), + QCOMPARE(qvariant_cast<QLocalSocket::LocalSocketState>(spyStateChanged.first()[0]), QLocalSocket::ConnectingState); if (canListen) - QCOMPARE(qVariantValue<QLocalSocket::LocalSocketState>(spyStateChanged.last()[0]), + QCOMPARE(qvariant_cast<QLocalSocket::LocalSocketState>(spyStateChanged.last()[0]), QLocalSocket::ConnectedState); QCOMPARE(spyStateChanged.count(), 2); QCOMPARE(spyReadyRead.count(), 0); @@ -1153,7 +1153,7 @@ void tst_QLocalSocket::verifyListenWithDescriptor_data() QTest::addColumn<bool>("abstract"); QTest::addColumn<bool>("bound"); - QTest::newRow("normal") << QDir::tempPath() + QLatin1Literal("/testsocket") << false << true; + QTest::newRow("normal") << QDir::tempPath() + QLatin1String("/testsocket") << false << true; #ifdef Q_OS_LINUX QTest::newRow("absrtact") << QString::fromLatin1("abstractsocketname") << true << true; QTest::newRow("abstractwithslash") << QString::fromLatin1("abstractsocketwitha/inthename") << true << true; diff --git a/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro b/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro index 9e37aec5ce..c9793952ce 100644 --- a/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro +++ b/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro @@ -10,6 +10,6 @@ MOC_DIR=tmp QT = core-private network-private testlib -linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):CONFIG += insignificant_test # QTBUG-23380 +linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):DEFINES+=UBUNTU_ONEIRIC # QTBUG-23380 requires(contains(QT_CONFIG,private_tests)) diff --git a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp index 0c0690babe..3cc1f32622 100644 --- a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp +++ b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp @@ -130,7 +130,7 @@ private slots: { QTcpSocket *client = nextPendingConnection(); connect(client, SIGNAL(readyRead()), SLOT(handleClientCommand())); - client->setProperty("pendingResponses", qVariantFromValue(responses)); + client->setProperty("pendingResponses", QVariant::fromValue(responses)); } void handleClientCommand() @@ -145,7 +145,7 @@ private slots: client->disconnectFromHost(); else client->write(pendingResponses.dequeue()); - client->setProperty("pendingResponses", qVariantFromValue(pendingResponses)); + client->setProperty("pendingResponses", QVariant::fromValue(pendingResponses)); } }; @@ -551,7 +551,16 @@ void tst_QSocks5SocketEngine::udpTest() QVERIFY(udpSocket.state() == QAbstractSocket::UnconnectedState); // Bind #1 +#if defined(UBUNTU_ONEIRIC) && defined(__x86_64__) + { + bool bindSuccessful = udpSocket.bind(QHostAddress("0.0.0.0"), 0); + if (!bindSuccessful) + QEXPECT_FAIL("", "QTBUG-23380: Fails on some Ubuntu 11.10 x64 configurations", Abort); + QVERIFY(bindSuccessful); + } +#else QVERIFY(udpSocket.bind(QHostAddress("0.0.0.0"), 0)); +#endif QVERIFY(udpSocket.state() == QAbstractSocket::BoundState); QVERIFY(udpSocket.localPort() != 0); diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp index 3c7c3a3da0..13c5d961d7 100644 --- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp +++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp @@ -2212,9 +2212,9 @@ void tst_QTcpSocket::connectionRefused() QCOMPARE(socket->error(), QAbstractSocket::ConnectionRefusedError); QCOMPARE(stateSpy.count(), 3); - QCOMPARE(qVariantValue<QAbstractSocket::SocketState>(stateSpy.at(0).at(0)), QAbstractSocket::HostLookupState); - QCOMPARE(qVariantValue<QAbstractSocket::SocketState>(stateSpy.at(1).at(0)), QAbstractSocket::ConnectingState); - QCOMPARE(qVariantValue<QAbstractSocket::SocketState>(stateSpy.at(2).at(0)), QAbstractSocket::UnconnectedState); + QCOMPARE(qvariant_cast<QAbstractSocket::SocketState>(stateSpy.at(0).at(0)), QAbstractSocket::HostLookupState); + QCOMPARE(qvariant_cast<QAbstractSocket::SocketState>(stateSpy.at(1).at(0)), QAbstractSocket::ConnectingState); + QCOMPARE(qvariant_cast<QAbstractSocket::SocketState>(stateSpy.at(2).at(0)), QAbstractSocket::UnconnectedState); QCOMPARE(errorSpy.count(), 1); delete socket; diff --git a/tests/auto/network/socket/qudpsocket/test/test.pro b/tests/auto/network/socket/qudpsocket/test/test.pro index 6ff5dca813..48e076b2ab 100644 --- a/tests/auto/network/socket/qudpsocket/test/test.pro +++ b/tests/auto/network/socket/qudpsocket/test/test.pro @@ -22,4 +22,4 @@ wince* { TARGET = tst_qudpsocket -CONFIG+=insignificant_test +CONFIG+=insignificant_test # QTBUG-25367, QTBUG-25368 diff --git a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro index bb04e0b9c4..c24fe22518 100644 --- a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro +++ b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro @@ -31,9 +31,6 @@ wince* { DEFINES += SRCDIR=\\\"$$PWD/\\\" } -# QTBUG-23575 -linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):DEFINES+=UBUNTU_ONEIRIC +linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):DEFINES+=UBUNTU_ONEIRIC # QTBUG-24234 requires(contains(QT_CONFIG,private_tests)) - -win32:CONFIG += insignificant_test # QTBUG-24234 diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp index 23e87b7f3b..34bc361e4b 100644 --- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp +++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp @@ -189,6 +189,8 @@ private slots: void encryptWithoutConnecting(); void resume_data(); void resume(); + void qtbug18498_peek(); + void qtbug18498_peek2(); void setEmptyDefaultConfiguration(); // this test should be last static void exitLoop() @@ -1764,8 +1766,8 @@ void tst_QSslSocket::verifyMode() loop.exec(); QVERIFY(clientSocket.isEncrypted()); -#if defined(UBUNTU_ONEIRIC) && defined(__x86_64__) - QEXPECT_FAIL("", "QTBUG-23575 - Fails on this platform", Abort); +#if (defined(UBUNTU_ONEIRIC) && defined(__x86_64__)) || defined(Q_OS_WIN) || defined(Q_OS_MAC) + QEXPECT_FAIL("", "QTBUG-24234", Abort); #endif QVERIFY(server.socket->sslErrors().isEmpty()); } @@ -1791,8 +1793,8 @@ void tst_QSslSocket::peerVerifyError() QVERIFY(!socket->waitForEncrypted(10000)); QVERIFY(!peerVerifyErrorSpy.isEmpty()); QVERIFY(!sslErrorsSpy.isEmpty()); - QCOMPARE(qVariantValue<QSslError>(peerVerifyErrorSpy.last().at(0)).error(), QSslError::HostNameMismatch); - QCOMPARE(qVariantValue<QList<QSslError> >(sslErrorsSpy.at(0).at(0)).size(), peerVerifyErrorSpy.size()); + QCOMPARE(qvariant_cast<QSslError>(peerVerifyErrorSpy.last().at(0)).error(), QSslError::HostNameMismatch); + QCOMPARE(qvariant_cast<QList<QSslError> >(sslErrorsSpy.at(0).at(0)).size(), peerVerifyErrorSpy.size()); } void tst_QSslSocket::disconnectFromHostWhenConnecting() @@ -2198,6 +2200,261 @@ void tst_QSslSocket::resume() } } +class WebSocket : public QSslSocket +{ + Q_OBJECT +public: + explicit WebSocket(qintptr socketDescriptor, + const QString &keyFile = SRCDIR "certs/fluke.key", + const QString &certFile = SRCDIR "certs/fluke.cert"); + +protected slots: + void onReadyReadFirstBytes(void); + +private: + void _startServerEncryption(void); + + QString m_keyFile; + QString m_certFile; + +private: + Q_DISABLE_COPY(WebSocket) +}; + +WebSocket::WebSocket (qintptr socketDescriptor, const QString &keyFile, const QString &certFile) + : m_keyFile(keyFile), + m_certFile(certFile) +{ + QVERIFY(setSocketDescriptor(socketDescriptor, QAbstractSocket::ConnectedState, QIODevice::ReadWrite | QIODevice::Unbuffered)); + connect (this, SIGNAL(readyRead()), this, SLOT(onReadyReadFirstBytes())); +} + +void WebSocket::_startServerEncryption (void) +{ + QFile file(m_keyFile); + QVERIFY(file.open(QIODevice::ReadOnly)); + QSslKey key(file.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey); + QVERIFY(!key.isNull()); + setPrivateKey(key); + + QList<QSslCertificate> localCert = QSslCertificate::fromPath(m_certFile); + QVERIFY(!localCert.isEmpty()); + QVERIFY(localCert.first().handle()); + setLocalCertificate(localCert.first()); + + QVERIFY(!peerAddress().isNull()); + QVERIFY(peerPort() != 0); + QVERIFY(!localAddress().isNull()); + QVERIFY(localPort() != 0); + + setProtocol(QSsl::AnyProtocol); + setPeerVerifyMode(QSslSocket::VerifyNone); + ignoreSslErrors(); + startServerEncryption(); +} + +void WebSocket::onReadyReadFirstBytes (void) +{ + peek(1); + disconnect(this,SIGNAL(readyRead()), this, SLOT(onReadyReadFirstBytes())); + _startServerEncryption(); +} + +class SslServer4 : public QTcpServer +{ + Q_OBJECT +public: + SslServer4() : socket(0) {} + WebSocket *socket; + +protected: + void incomingConnection(qintptr socketDescriptor) + { + socket = new WebSocket(socketDescriptor); + } +}; + +void tst_QSslSocket::qtbug18498_peek() +{ + QFETCH_GLOBAL(bool, setProxy); + if (setProxy) + return; + + SslServer4 server; + QSslSocket *client = new QSslSocket(this); + + QVERIFY(server.listen(QHostAddress::LocalHost)); + client->connectToHost("127.0.0.1", server.serverPort()); + QVERIFY(client->waitForConnected(5000)); + QVERIFY(server.waitForNewConnection(1000)); + client->setObjectName("client"); + client->ignoreSslErrors(); + + connect(client, SIGNAL(encrypted()), this, SLOT(exitLoop())); + connect(client, SIGNAL(disconnected()), this, SLOT(exitLoop())); + + client->startClientEncryption(); + WebSocket *serversocket = server.socket; + QVERIFY(serversocket); + serversocket->setObjectName("server"); + + enterLoop(1); + QVERIFY(!timeout()); + QVERIFY(serversocket->isEncrypted()); + QVERIFY(client->isEncrypted()); + + QByteArray data("abc123"); + client->write(data.data()); + + connect(serversocket, SIGNAL(readyRead()), this, SLOT(exitLoop())); + enterLoop(1); + QVERIFY(!timeout()); + + QByteArray peek1_data; + peek1_data.reserve(data.size()); + QByteArray peek2_data; + QByteArray read_data; + + int lngth = serversocket->peek(peek1_data.data(), 10); + peek1_data.resize(lngth); + + peek2_data = serversocket->peek(10); + read_data = serversocket->readAll(); + + QCOMPARE(peek1_data, data); + QCOMPARE(peek2_data, data); + QCOMPARE(read_data, data); +} + +class SslServer5 : public QTcpServer +{ + Q_OBJECT +public: + SslServer5() : socket(0) {} + QSslSocket *socket; + +protected: + void incomingConnection(qintptr socketDescriptor) + { + socket = new QSslSocket; + socket->setSocketDescriptor(socketDescriptor); + } +}; + +void tst_QSslSocket::qtbug18498_peek2() +{ + QFETCH_GLOBAL(bool, setProxy); + if (setProxy) + return; + + SslServer5 listener; + QVERIFY(listener.listen(QHostAddress::Any)); + QScopedPointer<QSslSocket> client(new QSslSocket); + client->connectToHost(QHostAddress::LocalHost, listener.serverPort()); + QVERIFY(client->waitForConnected(5000)); + QVERIFY(listener.waitForNewConnection(1000)); + + QScopedPointer<QSslSocket> server(listener.socket); + + QVERIFY(server->write("HELLO\r\n", 7)); + QElapsedTimer stopwatch; + stopwatch.start(); + while (client->bytesAvailable() < 7 && stopwatch.elapsed() < 5000) + QTest::qWait(100); + char c; + QVERIFY(client->peek(&c,1) == 1); + QCOMPARE(c, 'H'); + QVERIFY(client->read(&c,1) == 1); + QCOMPARE(c, 'H'); + QByteArray b = client->peek(2); + QCOMPARE(b, QByteArray("EL")); + char a[3]; + QVERIFY(client->peek(a, 2) == 2); + QCOMPARE(a[0], 'E'); + QCOMPARE(a[1], 'L'); + QCOMPARE(client->readAll(), QByteArray("ELLO\r\n")); + + //check data split between QIODevice and plain socket buffers. + QByteArray bigblock; + bigblock.fill('#', QIODEVICE_BUFFERSIZE + 1024); + QVERIFY(client->write(QByteArray("head"))); + QVERIFY(client->write(bigblock)); + while (server->bytesAvailable() < bigblock.length() + 4 && stopwatch.elapsed() < 5000) + QTest::qWait(100); + QCOMPARE(server->read(4), QByteArray("head")); + QCOMPARE(server->peek(bigblock.length()), bigblock); + b.reserve(bigblock.length()); + b.resize(server->peek(b.data(), bigblock.length())); + QCOMPARE(b, bigblock); + + //check oversized peek + QCOMPARE(server->peek(bigblock.length() * 3), bigblock); + b.reserve(bigblock.length() * 3); + b.resize(server->peek(b.data(), bigblock.length() * 3)); + QCOMPARE(b, bigblock); + + QCOMPARE(server->readAll(), bigblock); + + QVERIFY(client->write("STARTTLS\r\n")); + stopwatch.start(); + // ### Qt5 use QTRY_VERIFY + while (server->bytesAvailable() < 10 && stopwatch.elapsed() < 5000) + QTest::qWait(100); + QVERIFY(server->peek(&c,1) == 1); + QCOMPARE(c, 'S'); + b = server->peek(3); + QCOMPARE(b, QByteArray("STA")); + QCOMPARE(server->read(5), QByteArray("START")); + QVERIFY(server->peek(a, 3) == 3); + QCOMPARE(a[0], 'T'); + QCOMPARE(a[1], 'L'); + QCOMPARE(a[2], 'S'); + QCOMPARE(server->readAll(), QByteArray("TLS\r\n")); + + QFile file(SRCDIR "certs/fluke.key"); + QVERIFY(file.open(QIODevice::ReadOnly)); + QSslKey key(file.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey); + QVERIFY(!key.isNull()); + server->setPrivateKey(key); + + QList<QSslCertificate> localCert = QSslCertificate::fromPath(SRCDIR "certs/fluke.cert"); + QVERIFY(!localCert.isEmpty()); + QVERIFY(localCert.first().handle()); + server->setLocalCertificate(localCert.first()); + + server->setProtocol(QSsl::AnyProtocol); + server->setPeerVerifyMode(QSslSocket::VerifyNone); + + server->ignoreSslErrors(); + client->ignoreSslErrors(); + + server->startServerEncryption(); + client->startClientEncryption(); + + QVERIFY(server->write("hello\r\n", 7)); + stopwatch.start(); + while (client->bytesAvailable() < 7 && stopwatch.elapsed() < 5000) + QTest::qWait(100); + QVERIFY(server->mode() == QSslSocket::SslServerMode && client->mode() == QSslSocket::SslClientMode); + QVERIFY(client->peek(&c,1) == 1); + QCOMPARE(c, 'h'); + QVERIFY(client->read(&c,1) == 1); + QCOMPARE(c, 'h'); + b = client->peek(2); + QCOMPARE(b, QByteArray("el")); + QCOMPARE(client->readAll(), QByteArray("ello\r\n")); + + QVERIFY(client->write("goodbye\r\n")); + stopwatch.start(); + while (server->bytesAvailable() < 9 && stopwatch.elapsed() < 5000) + QTest::qWait(100); + QVERIFY(server->peek(&c,1) == 1); + QCOMPARE(c, 'g'); + QCOMPARE(server->readAll(), QByteArray("goodbye\r\n")); + client->disconnectFromHost(); + QVERIFY(client->waitForDisconnected(5000)); +} + void tst_QSslSocket::setEmptyDefaultConfiguration() // this test should be last, as it has some side effects { // used to produce a crash in QSslConfigurationPrivate::deepCopyDefaultConfiguration, QTBUG-13265 diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro index 5aeb0e48ac..33b55b4638 100644 --- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro +++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro @@ -22,5 +22,3 @@ wince* { } requires(contains(QT_CONFIG,private_tests)) - -win32:CONFIG+=insignificant_test # QTBUG-24451 - all diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro index 3955ea106c..8a500a3d99 100644 --- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro +++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro @@ -22,5 +22,3 @@ wince* { } requires(contains(QT_CONFIG,private_tests)) - -win32:CONFIG+=insignificant_test # QTBUG-24451 - all |