In crypto_test_utils, move connection close frame between two test connections. This allows tests to check connection close errors on both ends. PiperOrigin-RevId: 351845706 Change-Id: I1b3d22cc55a1aa2b728c3598555e633d9f30bb28
diff --git a/quic/test_tools/crypto_test_utils.cc b/quic/test_tools/crypto_test_utils.cc index 17947f8..ce1c217 100644 --- a/quic/test_tools/crypto_test_utils.cc +++ b/quic/test_tools/crypto_test_utils.cc
@@ -400,17 +400,21 @@ PacketSavingConnection* server_conn, QuicCryptoStream* server, size_t server_i) { - QUIC_LOG(INFO) << "Processing " - << client_conn->encrypted_packets_.size() - client_i - << " packets client->server"; - MovePackets(client_conn, &client_i, server, server_conn, - Perspective::IS_SERVER); + if (client_conn->encrypted_packets_.size() != client_i) { + QUIC_LOG(INFO) << "Processing " + << client_conn->encrypted_packets_.size() - client_i + << " packets client->server"; + MovePackets(client_conn, &client_i, server, server_conn, + Perspective::IS_SERVER); + } - QUIC_LOG(INFO) << "Processing " - << server_conn->encrypted_packets_.size() - server_i - << " packets server->client"; - MovePackets(server_conn, &server_i, client, client_conn, - Perspective::IS_CLIENT); + if (server_conn->encrypted_packets_.size() != server_i) { + QUIC_LOG(INFO) << "Processing " + << server_conn->encrypted_packets_.size() - server_i + << " packets server->client"; + MovePackets(server_conn, &server_i, client, client_conn, + Perspective::IS_CLIENT); + } return std::make_pair(client_i, server_i); } @@ -795,6 +799,9 @@ for (const auto& crypto_frame : framer.crypto_frames()) { dest_stream->OnCryptoFrame(*crypto_frame); } + if (!framer.connection_close_frames().empty() && dest_conn->connected()) { + dest_conn->OnConnectionCloseFrame(framer.connection_close_frames()[0]); + } } *inout_packet_index = index;