summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2020-03-13 17:48:16 +0100
committerMårten Nordheim <marten.nordheim@qt.io>2020-03-16 12:12:29 +0100
commit3e9014ed6179acd06a11dcd089490a6c16dc07e2 (patch)
tree2dffd69325c64ea20e243f20506dd4272e4e9b16
parent75f52bd0ddc4afbd181c14b310d256e3507052d6 (diff)
QNetworkReply: stabilize sslSessionSharing test
Sometimes this test would fail due to the session not actually being reused. The cause of this was that the requests were sometimes being completed 1-by-1, enabling the individual requests to re-use the already-connected socket completely because it stayed connected. Setting the Connection-header to close lets us be sure that the socket cannot be re-used when the request is finished. Fixes: QTBUG-82846 Change-Id: I5da8baa50a3a45fb60f1e1613e500e3e9c034fb0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 7d065f1248..6450d2a5d2 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -6490,6 +6490,9 @@ void tst_QNetworkReply::sslSessionSharing()
QNetworkRequest warmupRequest(urlString);
QFETCH(bool, sessionSharingEnabled);
warmupRequest.setAttribute(QNetworkRequest::User, sessionSharingEnabled); // so we can read it from the slot
+ // Make sure the socket is closed when the request is finished to guarantee that
+ // the _socket_ is not reused, but rather the ssl session
+ warmupRequest.setRawHeader("Connection", "close");
if (! sessionSharingEnabled) {
QSslConfiguration configuration(QSslConfiguration::defaultConfiguration());
configuration.setSslOption(QSsl::SslOptionDisableSessionSharing, true);