Use max TLS idle_timeout and use in session tests
The idle_timeout GetUint32 value returns the pre-handshake timeout, we need to call GetMax to get the post-handshake timeout which is what we want here. This is tested by quic_session_test and quic_spdy_sesion_test which now use transport parameters when the version under test uses TLS.
gfe-relnote: change idle_timeout for TLS, protected by disabled TLS flag
PiperOrigin-RevId: 273837598
Change-Id: Ia5f330ffd7405742b9756b9b15eebba6624f4ac5
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index 931924f..5ffa216 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -76,15 +76,25 @@
void OnHandshakeMessage(const CryptoHandshakeMessage& /*message*/) override {
encryption_established_ = true;
handshake_confirmed_ = true;
- CryptoHandshakeMessage msg;
+ QuicErrorCode error;
std::string error_details;
session()->config()->SetInitialStreamFlowControlWindowToSend(
kInitialStreamFlowControlWindowForTest);
session()->config()->SetInitialSessionFlowControlWindowToSend(
kInitialSessionFlowControlWindowForTest);
- session()->config()->ToHandshakeMessage(&msg, transport_version());
- const QuicErrorCode error =
- session()->config()->ProcessPeerHello(msg, CLIENT, &error_details);
+ if (session()->connection()->version().handshake_protocol ==
+ PROTOCOL_TLS1_3) {
+ TransportParameters transport_parameters;
+ EXPECT_TRUE(
+ session()->config()->FillTransportParameters(&transport_parameters));
+ error = session()->config()->ProcessTransportParameters(
+ transport_parameters, CLIENT, &error_details);
+ } else {
+ CryptoHandshakeMessage msg;
+ session()->config()->ToHandshakeMessage(&msg, transport_version());
+ error =
+ session()->config()->ProcessPeerHello(msg, CLIENT, &error_details);
+ }
EXPECT_EQ(QUIC_NO_ERROR, error);
session()->OnConfigNegotiated();
session()->connection()->SetDefaultEncryptionLevel(
@@ -1160,6 +1170,11 @@
}
TEST_P(QuicSpdySessionTestServer, HandshakeUnblocksFlowControlBlockedStream) {
+ if (connection_->version().handshake_protocol == PROTOCOL_TLS1_3) {
+ // This test requires Google QUIC crypto because it assumes streams start
+ // off unblocked.
+ return;
+ }
// Test that if a stream is flow control blocked, then on receipt of the SHLO
// containing a suitable send window offset, the stream becomes unblocked.