| 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 14037efc236b88c5dc2fef4f420cd19ee1ff5295..af6fb7b2f9e27697eb107f425bbc345f580ac8c8 100644
|
| --- a/net/quic/quic_network_transaction_unittest.cc
|
| +++ b/net/quic/quic_network_transaction_unittest.cc
|
| @@ -860,6 +860,34 @@ TEST_P(QuicNetworkTransactionTest, FailedZeroRttBrokenAlternateProtocol) {
|
| EXPECT_TRUE(quic_data.at_write_eof());
|
| }
|
|
|
| +TEST_P(QuicNetworkTransactionTest, HangingZeroRttFallback) {
|
| + // Alternate-protocol job
|
| + MockRead quic_reads[] = {
|
| + MockRead(ASYNC, ERR_IO_PENDING),
|
| + };
|
| + StaticSocketDataProvider quic_data(quic_reads, arraysize(quic_reads),
|
| + NULL, 0);
|
| + socket_factory_.AddSocketDataProvider(&quic_data);
|
| +
|
| + // Main job that will proceed when the QUIC job fails.
|
| + MockRead http_reads[] = {
|
| + MockRead("HTTP/1.1 200 OK\r\n\r\n"),
|
| + MockRead("hello from http"),
|
| + MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ),
|
| + MockRead(ASYNC, OK)
|
| + };
|
| +
|
| + StaticSocketDataProvider http_data(http_reads, arraysize(http_reads),
|
| + NULL, 0);
|
| + socket_factory_.AddSocketDataProvider(&http_data);
|
| +
|
| + CreateSessionWithNextProtos();
|
| +
|
| + AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT);
|
| +
|
| + SendRequestAndExpectHttpResponse("hello from http");
|
| +}
|
| +
|
| TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocolOnConnectFailure) {
|
| // Alternate-protocol job will fail before creating a QUIC session.
|
| StaticSocketDataProvider quic_data(NULL, 0, NULL, 0);
|
|
|