Index: net/quic/quic_session_test.cc |
diff --git a/net/quic/quic_session_test.cc b/net/quic/quic_session_test.cc |
index daf36ae1482a55386248a8a6b345bfe85171df06..54c6cbbb8e734cc0022d73f676908a28950747bf 100644 |
--- a/net/quic/quic_session_test.cc |
+++ b/net/quic/quic_session_test.cc |
@@ -427,15 +427,22 @@ TEST_P(QuicSessionTest, OnCanWriteWithClosedStream) { |
} |
TEST_P(QuicSessionTest, SendGoAway) { |
- // After sending a GoAway, ensure new incoming streams cannot be created and |
- // result in a RST being sent. |
EXPECT_CALL(*connection_, |
SendGoAway(QUIC_PEER_GOING_AWAY, 0u, "Going Away.")); |
session_.SendGoAway(QUIC_PEER_GOING_AWAY, "Going Away."); |
EXPECT_TRUE(session_.goaway_sent()); |
- EXPECT_CALL(*connection_, SendRstStream(3u, QUIC_STREAM_PEER_GOING_AWAY, 0)); |
- EXPECT_FALSE(session_.GetIncomingDataStream(3u)); |
+ EXPECT_CALL(*connection_, |
+ SendRstStream(3u, QUIC_STREAM_PEER_GOING_AWAY, 0)).Times(0); |
+ EXPECT_TRUE(session_.GetIncomingDataStream(3u)); |
+} |
+ |
+TEST_P(QuicSessionTest, DoNotSendGoAwayTwice) { |
+ EXPECT_CALL(*connection_, |
+ SendGoAway(QUIC_PEER_GOING_AWAY, 0u, "Going Away.")).Times(1); |
+ session_.SendGoAway(QUIC_PEER_GOING_AWAY, "Going Away."); |
+ EXPECT_TRUE(session_.goaway_sent()); |
+ session_.SendGoAway(QUIC_PEER_GOING_AWAY, "Going Away."); |
} |
TEST_P(QuicSessionTest, IncreasedTimeoutAfterCryptoHandshake) { |