Index: net/tools/quic/end_to_end_test.cc |
diff --git a/net/tools/quic/end_to_end_test.cc b/net/tools/quic/end_to_end_test.cc |
index 9ce1cc119a9a78295e47efb8444134082699705f..edcd0ce416ffb1bf25610183172e98160489339a 100644 |
--- a/net/tools/quic/end_to_end_test.cc |
+++ b/net/tools/quic/end_to_end_test.cc |
@@ -854,22 +854,27 @@ TEST_P(EndToEndTest, Timeout) { |
} |
TEST_P(EndToEndTest, NegotiateMaxOpenStreams) { |
+ ValueRestore<bool> old_flag(&FLAGS_quic_allow_more_open_streams, true); |
+ |
// Negotiate 1 max open stream. |
client_config_.SetMaxStreamsPerConnection(1, 1); |
ASSERT_TRUE(Initialize()); |
client_->client()->WaitForCryptoHandshakeConfirmed(); |
// Make the client misbehave after negotiation. |
- QuicSessionPeer::SetMaxOpenStreams(client_->client()->session(), 10); |
+ const int kServerMaxStreams = kMaxStreamsMinimumIncrement + 1; |
+ QuicSessionPeer::SetMaxOpenStreams(client_->client()->session(), |
+ kServerMaxStreams + 1); |
- HTTPMessage request(HttpConstants::HTTP_1_1, |
- HttpConstants::POST, "/foo"); |
+ HTTPMessage request(HttpConstants::HTTP_1_1, HttpConstants::POST, "/foo"); |
request.AddHeader("content-length", "3"); |
request.set_has_complete_message(false); |
- // Open two simultaneous streams. |
- client_->SendMessage(request); |
- client_->SendMessage(request); |
+ // The server supports a small number of additional streams beyond the |
+ // negotiated limit. Open enough streams to go beyond that limit. |
+ for (int i = 0; i < kServerMaxStreams + 1; ++i) { |
+ client_->SendMessage(request); |
+ } |
client_->WaitForResponse(); |
EXPECT_FALSE(client_->connected()); |