Index: net/quic/quic_network_transaction_unittest.cc |
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc |
index b8baec88340b25732820d6c3b3c702e58fe0813a..d14e2f8f27e33b1cac4704fe601ddcd290fd558c 100644 |
--- a/net/quic/quic_network_transaction_unittest.cc |
+++ b/net/quic/quic_network_transaction_unittest.cc |
@@ -646,6 +646,10 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
params_.parse_alternative_services = false; |
params_.enable_alternative_service_with_different_host = false; |
CreateSession(); |
@@ -769,6 +773,7 @@ |
crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); |
request_.url = GURL("http://" + origin_host); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); |
SendRequestAndExpectQuicResponseFromProxyOnPort("hello!", 70); |
@@ -810,6 +815,7 @@ |
request_.url = GURL("https://" + origin.host()); |
AddQuicRemoteAlternativeServiceMapping( |
MockCryptoClientStream::CONFIRM_HANDSHAKE, alternative); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
SendRequestAndExpectQuicResponse("hello!"); |
@@ -895,6 +901,7 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
SendRequestAndExpectHttpResponse("hello world"); |
@@ -929,6 +936,7 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
SendRequestAndExpectHttpResponse("hello world"); |
@@ -1029,6 +1037,7 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
SendRequestAndExpectHttpResponse("hello world"); |
@@ -1173,6 +1182,7 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
SendRequestAndExpectHttpResponse("hello world"); |
@@ -1257,7 +1267,11 @@ |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
mock_quic_data2.AddSocketDataToFactory(&socket_factory_); |
+ |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
@@ -1334,6 +1348,7 @@ |
mock_quic_data.AddRead(ASYNC, 0); // EOF |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
@@ -1426,7 +1441,10 @@ |
mock_quic_data2.AddRead(ASYNC, 0); // EOF |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
mock_quic_data2.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
@@ -1472,6 +1490,7 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
SendRequestAndExpectHttpResponse("hello world"); |
@@ -1504,6 +1523,7 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
AlternativeService alternative_service(QUIC, |
@@ -1580,6 +1600,10 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
params_.parse_alternative_services = false; |
params_.parse_alternative_services = false; |
CreateSession(); |
@@ -1615,6 +1639,10 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
params_.parse_alternative_services = false; |
params_.parse_alternative_services = false; |
CreateSession(); |
@@ -1650,6 +1678,10 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
params_.parse_alternative_services = false; |
CreateSession(); |
@@ -1683,6 +1715,10 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
params_.parse_alternative_services = false; |
CreateSession(); |
@@ -1728,7 +1764,10 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
- AddHangingNonAlternateProtocolSocketData(); |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
CreateSession(); |
// TODO(rtenneti): Test QUIC over HTTPS, GetSSLInfo(). |
@@ -1885,6 +1924,10 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
CreateSession(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
SendRequestAndExpectQuicResponse("hello!"); |
@@ -1967,6 +2010,10 @@ |
mock_quic_data.AddWrite(ConstructAckPacket(2, 1)); |
mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); // No more data to read |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
+ |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
// In order for a new QUIC session to be established via alternate-protocol |
// without racing an HTTP connection, we need the host resolution to happen |
@@ -1981,10 +2028,6 @@ |
host_resolver_.Resolve(info, DEFAULT_PRIORITY, &address, CompletionCallback(), |
nullptr, net_log_.bound()); |
- // The non-alternate protocol job needs to hang in order to guarantee that |
- // the alternate-protocol job will "win". |
- AddHangingNonAlternateProtocolSocketData(); |
- |
CreateSession(); |
session_->quic_stream_factory()->set_require_confirmation(true); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
@@ -2203,6 +2246,8 @@ |
0); |
socket_factory_.AddSocketDataProvider(&quic_data); |
+ AddHangingNonAlternateProtocolSocketData(); |
+ |
// Second Alternate-protocol job which will race with the TCP job. |
StaticSocketDataProvider quic_data2(quic_reads, arraysize(quic_reads), |
nullptr, 0); |
@@ -2219,7 +2264,6 @@ |
socket_factory_.AddSocketDataProvider(&http_data); |
socket_factory_.AddSSLSocketDataProvider(&ssl_data_); |
- AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); |
@@ -2337,6 +2381,7 @@ |
mock_quic_data.AddSocketDataToFactory(&socket_factory_); |
request_.url = GURL("https://www.example.org:443"); |
+ AddHangingNonAlternateProtocolSocketData(); |
CreateSession(); |
AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); |
SendRequestAndExpectQuicResponse("hello!"); |
@@ -2353,6 +2398,10 @@ |
SequencedSocketData socket_data(reads, arraysize(reads), writes, |
arraysize(writes)); |
socket_factory_.AddSocketDataProvider(&socket_data); |
+ |
+ // The non-alternate protocol job needs to hang in order to guarantee that |
+ // the alternate-protocol job will "win". |
+ AddHangingNonAlternateProtocolSocketData(); |
params_.parse_alternative_services = false; |
params_.enable_alternative_service_with_different_host = false; |