| Index: net/quic/quic_connection_test.cc
|
| diff --git a/net/quic/quic_connection_test.cc b/net/quic/quic_connection_test.cc
|
| index 4e82472d60576474da9ea70a213e205fe2faf955..c1e20f038f6c5420212e24020ee03ade42ace7fc 100644
|
| --- a/net/quic/quic_connection_test.cc
|
| +++ b/net/quic/quic_connection_test.cc
|
| @@ -638,7 +638,7 @@ class QuicConnectionTest : public ::testing::TestWithParam<bool> {
|
| }
|
|
|
| size_t ProcessFecProtectedPacket(QuicPacketSequenceNumber number,
|
| - bool expect_revival, bool entropy_flag) {
|
| + bool expect_revival, bool entropy_flag) {
|
| if (expect_revival) {
|
| EXPECT_CALL(visitor_, OnStreamFrames(_)).WillOnce(Return(accept_packet_));
|
| }
|
| @@ -1847,7 +1847,9 @@ TEST_F(QuicConnectionTest, RetransmitWriteBlockedAckedOriginalThenSent) {
|
| ProcessAckPacket(&ack);
|
|
|
| connection_.OnPacketSent(WriteResult(WRITE_STATUS_OK, 0));
|
| - EXPECT_TRUE(connection_.GetRetransmissionAlarm()->IsSet());
|
| + // The retransmission alarm should not be set because there are
|
| + // no unacked packets.
|
| + EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet());
|
| }
|
|
|
| TEST_F(QuicConnectionTest, ResumptionAlarmWhenWriteBlocked) {
|
| @@ -1983,8 +1985,9 @@ TEST_F(QuicConnectionTest, ReviveMissingPacketAfterDataPacketsThenFecPacket) {
|
| // Don't send missing packet 2.
|
| ProcessFecProtectedPacket(3, false, !kEntropyFlag);
|
| ProcessFecPacket(4, 1, true, kEntropyFlag, NULL);
|
| - // Entropy flag should be true, so entropy should not be 0.
|
| - EXPECT_NE(0u, QuicConnectionPeer::ReceivedEntropyHash(&connection_, 2));
|
| + // Ensure QUIC no longer revives entropy for lost packets.
|
| + EXPECT_EQ(0u, QuicConnectionPeer::ReceivedEntropyHash(&connection_, 2));
|
| + EXPECT_NE(0u, QuicConnectionPeer::ReceivedEntropyHash(&connection_, 4));
|
| }
|
|
|
| TEST_F(QuicConnectionTest, ReviveMissingPacketAfterDataPacket) {
|
| @@ -2007,8 +2010,9 @@ TEST_F(QuicConnectionTest, ReviveMissingPacketAfterDataPackets) {
|
| ProcessFecProtectedPacket(3, false, kEntropyFlag);
|
| ProcessFecProtectedPacket(4, false, kEntropyFlag);
|
| ProcessFecProtectedPacket(5, true, !kEntropyFlag);
|
| - // Entropy flag should be true, so entropy should be 0.
|
| - EXPECT_NE(0u, QuicConnectionPeer::ReceivedEntropyHash(&connection_, 2));
|
| + // Ensure entropy is not revived for the missing packet.
|
| + EXPECT_EQ(0u, QuicConnectionPeer::ReceivedEntropyHash(&connection_, 2));
|
| + EXPECT_NE(0u, QuicConnectionPeer::ReceivedEntropyHash(&connection_, 3));
|
| }
|
|
|
| TEST_F(QuicConnectionTest, RTO) {
|
| @@ -2781,6 +2785,17 @@ TEST_F(QuicConnectionTest, ReceivedEntropyHashCalculation) {
|
| EXPECT_EQ(146u, outgoing_ack()->received_info.entropy_hash);
|
| }
|
|
|
| +TEST_F(QuicConnectionTest, ReceivedEntropyHashCalculationHalfFEC) {
|
| + // FEC packets should not change the entropy hash calculation.
|
| + EXPECT_CALL(visitor_, OnStreamFrames(_)).WillRepeatedly(Return(true));
|
| + EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| + ProcessDataPacket(1, 1, kEntropyFlag);
|
| + ProcessFecPacket(4, 1, false, kEntropyFlag, NULL);
|
| + ProcessDataPacket(3, 3, !kEntropyFlag);
|
| + ProcessFecPacket(7, 3, false, kEntropyFlag, NULL);
|
| + EXPECT_EQ(146u, outgoing_ack()->received_info.entropy_hash);
|
| +}
|
| +
|
| TEST_F(QuicConnectionTest, UpdateEntropyForReceivedPackets) {
|
| EXPECT_CALL(visitor_, OnStreamFrames(_)).WillRepeatedly(Return(true));
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
|
|