summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-09-26 16:08:55 +0200
committerLiang Qi <liang.qi@qt.io>2017-09-26 16:14:54 +0200
commitaadfe7d634de04519102c5827ca885dc2e2199c9 (patch)
treed92db346ca95332b177036a53f1f6beb2e24fb74 /tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
parent4b6c1448047362b8c38d265e6414f0e3e59b8d37 (diff)
parenta732e16d5fd9dbf8a0289fec9f948b12e9ba2c19 (diff)
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts: src/gui/kernel/qguiapplication.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h src/plugins/platforms/cocoa/qcocoawindow.h src/testlib/qtestsystem.h Change-Id: I5975ffb3261c2dd82fe02ec4e57df7c0950226c5
Diffstat (limited to 'tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp')
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index 74bdcfc5f0..12588c5e29 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -237,6 +237,7 @@ private slots:
void ephemeralServerKey();
void allowedProtocolNegotiation();
void pskServer();
+ void forwardReadChannelFinished();
#endif
void setEmptyDefaultConfiguration(); // this test should be last
@@ -3838,6 +3839,28 @@ void tst_QSslSocket::pskServer()
QCOMPARE(disconnectedSpy.count(), 1);
}
+void tst_QSslSocket::forwardReadChannelFinished()
+{
+ if (!QSslSocket::supportsSsl())
+ QSKIP("Needs SSL");
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy)
+ QSKIP("This test doesn't work via a proxy");
+
+ QSslSocket socket;
+ QSignalSpy readChannelFinishedSpy(&socket, &QAbstractSocket::readChannelFinished);
+ connect(&socket, &QSslSocket::encrypted, [&socket]() {
+ const auto data = QString("GET /ip HTTP/1.0\r\nHost: %1\r\n\r\nAccept: */*\r\n\r\n")
+ .arg(QtNetworkSettings::serverLocalName()).toUtf8();
+ socket.write(data);
+ });
+ connect(&socket, &QSslSocket::readChannelFinished,
+ &QTestEventLoop::instance(), &QTestEventLoop::exitLoop);
+ socket.connectToHostEncrypted(QtNetworkSettings::serverLocalName(), 443);
+ enterLoop(10);
+ QVERIFY(readChannelFinishedSpy.count());
+}
+
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL