Internal QUICHE change
PiperOrigin-RevId: 311388198
Change-Id: Ib8712ca8b3348b98c9d7a13a170d9ddaf5e4e951
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index a5a0a59..acbb1e0 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -2065,6 +2065,24 @@
EXPECT_EQ(kPeerAddress, connection_.effective_peer_address());
}
+// Regression test for b/150161358.
+TEST_P(QuicConnectionTest, BufferedMtuPacketTooBig) {
+ if (!GetQuicReloadableFlag(quic_ignore_msg_too_big_from_buffered_packets)) {
+ return;
+ }
+ EXPECT_CALL(visitor_, OnWriteBlocked()).Times(1);
+ writer_->SetWriteBlocked();
+
+ // Send a MTU packet while blocked. It should be buffered.
+ connection_.SendMtuDiscoveryPacket(kMaxOutgoingPacketSize);
+ EXPECT_EQ(1u, connection_.NumQueuedPackets());
+ EXPECT_TRUE(writer_->IsWriteBlocked());
+
+ writer_->AlwaysGetPacketTooLarge();
+ writer_->SetWritable();
+ connection_.OnCanWrite();
+}
+
TEST_P(QuicConnectionTest, WriteOutOfOrderQueuedPackets) {
// EXPECT_QUIC_BUG tests are expensive so only run one instance of them.
if (!IsDefaultTestConfiguration()) {