Index: net/tools/quic/quic_time_wait_list_manager_test.cc |
diff --git a/net/tools/quic/quic_time_wait_list_manager_test.cc b/net/tools/quic/quic_time_wait_list_manager_test.cc |
index ff40478849f70e77c9c41177bdfccd6298ccdd16..31cbd414298900d6e82e693d533fb2a04c4106c9 100644 |
--- a/net/tools/quic/quic_time_wait_list_manager_test.cc |
+++ b/net/tools/quic/quic_time_wait_list_manager_test.cc |
@@ -23,10 +23,13 @@ |
using net::test::FramerVisitorCapturingPublicReset; |
using testing::_; |
using testing::Args; |
+using testing::Assign; |
+using testing::DoAll; |
using testing::Matcher; |
using testing::MatcherInterface; |
using testing::NiceMock; |
using testing::Return; |
+using testing::ReturnPointee; |
using testing::SetArgPointee; |
using testing::StrictMock; |
using testing::Truly; |
@@ -37,10 +40,6 @@ namespace test { |
class QuicTimeWaitListManagerPeer { |
public: |
- static bool is_write_blocked(QuicTimeWaitListManager* manager) { |
- return manager->is_write_blocked_; |
- } |
- |
static bool ShouldSendResponse(QuicTimeWaitListManager* manager, |
int received_packet_count) { |
return manager->ShouldSendResponse(received_packet_count); |
@@ -78,11 +77,18 @@ class QuicTimeWaitListManagerTest : public testing::Test { |
: time_wait_list_manager_( |
&writer_, &epoll_server_, QuicSupportedVersions()), |
framer_(QuicSupportedVersions(), QuicTime::Zero(), true), |
- guid_(45) { |
- } |
+ guid_(45), |
+ writer_is_blocked_(false) {} |
virtual ~QuicTimeWaitListManagerTest() {} |
+ virtual void SetUp() { |
+ EXPECT_CALL(writer_, IsWriteBlocked()) |
+ .WillRepeatedly(ReturnPointee(&writer_is_blocked_)); |
+ EXPECT_CALL(writer_, IsWriteBlockedDataBuffered()) |
+ .WillRepeatedly(Return(false)); |
+ } |
+ |
void AddGuid(QuicGuid guid) { |
AddGuid(guid, net::test::QuicVersionMax(), NULL); |
} |
@@ -141,6 +147,7 @@ class QuicTimeWaitListManagerTest : public testing::Test { |
QuicGuid guid_; |
IPEndPoint server_address_; |
IPEndPoint client_address_; |
+ bool writer_is_blocked_; |
}; |
class ValidatePublicResetPacketPredicate |
@@ -289,8 +296,6 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) { |
sequence_number))) |
.WillOnce(Return(WriteResult(WRITE_STATUS_OK, packet->length()))); |
ProcessPacket(guid, sequence_number); |
- EXPECT_FALSE( |
- QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_)); |
// write block for the next packet. |
EXPECT_CALL(writer_, WritePacket(_, _, |
@@ -299,14 +304,14 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) { |
&time_wait_list_manager_)) |
.With(Args<0, 1>(PublicResetPacketEq(guid, |
sequence_number))) |
- .WillOnce(Return(WriteResult(WRITE_STATUS_BLOCKED, EAGAIN))); |
+ .WillOnce(DoAll( |
+ Assign(&writer_is_blocked_, true), |
+ Return(WriteResult(WRITE_STATUS_BLOCKED, EAGAIN)))); |
ProcessPacket(guid, sequence_number); |
// 3rd packet. No public reset should be sent; |
ProcessPacket(guid, sequence_number); |
- EXPECT_TRUE( |
- QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_)); |
- // write packet should not be called since already write blocked but the |
+ // write packet should not be called since we are write blocked but the |
// should be queued. |
QuicGuid other_guid = 2; |
AddGuid(other_guid); |
@@ -319,6 +324,7 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) { |
ProcessPacket(other_guid, other_sequence_number); |
// Now expect all the write blocked public reset packets to be sent again. |
+ writer_is_blocked_ = false; |
EXPECT_CALL(writer_, WritePacket(_, _, |
server_address_.address(), |
client_address_, |
@@ -335,8 +341,6 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) { |
.WillOnce(Return(WriteResult(WRITE_STATUS_OK, |
other_packet->length()))); |
time_wait_list_manager_.OnCanWrite(); |
- EXPECT_FALSE( |
- QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_)); |
} |
TEST_F(QuicTimeWaitListManagerTest, GetQuicVersionFromMap) { |