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>
This commit is contained in:
parent
75f52bd0dd
commit
3e9014ed61
@ -6490,6 +6490,9 @@ void tst_QNetworkReply::sslSessionSharing()
|
|||||||
QNetworkRequest warmupRequest(urlString);
|
QNetworkRequest warmupRequest(urlString);
|
||||||
QFETCH(bool, sessionSharingEnabled);
|
QFETCH(bool, sessionSharingEnabled);
|
||||||
warmupRequest.setAttribute(QNetworkRequest::User, sessionSharingEnabled); // so we can read it from the slot
|
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) {
|
if (! sessionSharingEnabled) {
|
||||||
QSslConfiguration configuration(QSslConfiguration::defaultConfiguration());
|
QSslConfiguration configuration(QSslConfiguration::defaultConfiguration());
|
||||||
configuration.setSslOption(QSsl::SslOptionDisableSessionSharing, true);
|
configuration.setSslOption(QSsl::SslOptionDisableSessionSharing, true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user