| 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;
|
|
|