summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-20 14:09:00 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-21 08:39:41 +0200
commitea438b2508f329698e11c6dae6994d441c6e67df (patch)
tree7a6052b98ba1ff6e0258c52cfc2726e197f53dd2 /tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
parenta2f319e9fb2f7595fc16d0d79e26438463051a53 (diff)
parent5f0ec7305e4310123ddeb98d3523087e3c560d9c (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qsysinfo.h src/corelib/kernel/qcoreapplication_win.cpp src/gui/text/qdistancefield.cpp src/gui/text/qdistancefield_p.h src/plugins/platforms/windows/qwindowsglcontext.cpp src/plugins/platforms/windows/qwindowsglcontext.h Change-Id: Ib3500acc2b28553bde06758cd9a2e19eb7fe2978
Diffstat (limited to 'tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp')
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index c1ed865d02..162a5e7b64 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -206,6 +206,7 @@ private slots:
void ignoreSslErrorsList();
void ignoreSslErrorsListWithSlot_data();
void ignoreSslErrorsListWithSlot();
+ void abortOnSslErrors();
void readFromClosedSocket();
void writeBigChunk();
void blacklistedCertificates();
@@ -254,6 +255,11 @@ protected slots:
{
socket->ignoreSslErrors();
}
+ void abortOnErrorSlot()
+ {
+ QSslSocket *sock = static_cast<QSslSocket *>(sender());
+ sock->abort();
+ }
void untrustedWorkaroundSlot(const QList<QSslError> &errors)
{
if (errors.size() == 1 &&
@@ -2311,6 +2317,27 @@ void tst_QSslSocket::ignoreSslErrorsListWithSlot()
QSKIP("Skipping flaky test - See QTBUG-29941");
}
+void tst_QSslSocket::abortOnSslErrors()
+{
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy)
+ return;
+
+ SslServer server;
+ QVERIFY(server.listen());
+
+ QSslSocket clientSocket;
+ connect(&clientSocket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(abortOnErrorSlot()));
+ clientSocket.connectToHostEncrypted("127.0.0.1", server.serverPort());
+ clientSocket.ignoreSslErrors();
+
+ QEventLoop loop;
+ QTimer::singleShot(1000, &loop, SLOT(quit()));
+ loop.exec();
+
+ QCOMPARE(clientSocket.state(), QAbstractSocket::UnconnectedState);
+}
+
// make sure a closed socket has no bytesAvailable()
// related to https://bugs.webkit.org/show_bug.cgi?id=28016
void tst_QSslSocket::readFromClosedSocket()