Index: net/quic/core/quic_packet_generator_test.cc |
diff --git a/net/quic/core/quic_packet_generator_test.cc b/net/quic/core/quic_packet_generator_test.cc |
index 264b52a359021cb30d489c9e77e6441e47cff6d9..782d28ea26a2e8e4094d3c27743f7a57eb60b4b7 100644 |
--- a/net/quic/core/quic_packet_generator_test.cc |
+++ b/net/quic/core/quic_packet_generator_test.cc |
@@ -877,5 +877,21 @@ TEST_F(QuicPacketGeneratorTest, SetCurrentPath) { |
EXPECT_EQ(kTestPathId1, QuicPacketCreatorPeer::GetCurrentPath(creator_)); |
} |
+// Regression test for b/31486443. |
+TEST_F(QuicPacketGeneratorTest, ConnectionCloseFrameLargerThanPacketSize) { |
+ FLAGS_quic_close_connection_on_huge_frames = true; |
+ delegate_.SetCanWriteAnything(); |
+ QuicConnectionCloseFrame* frame = new QuicConnectionCloseFrame(); |
+ frame->error_code = QUIC_PACKET_WRITE_ERROR; |
+ char buf[2000]; |
+ StringPiece error_details(buf, 2000); |
+ frame->error_details = error_details.as_string(); |
+ EXPECT_CALL(delegate_, |
+ OnUnrecoverableError(QUIC_FAILED_TO_SERIALIZE_PACKET, |
+ "Single frame cannot fit into a packet", _)); |
+ EXPECT_QUIC_BUG(generator_.AddControlFrame(QuicFrame(frame)), ""); |
+ EXPECT_TRUE(generator_.HasQueuedFrames()); |
+} |
+ |
} // namespace test |
} // namespace net |