| Index: net/tools/quic/quic_dispatcher_test.cc
|
| diff --git a/net/tools/quic/quic_dispatcher_test.cc b/net/tools/quic/quic_dispatcher_test.cc
|
| index 74cab69e6a79b2168349ab20e9f85dd2bc744b3f..8e1a08a917eaa53d185af0ecb99f110d4bc29b36 100644
|
| --- a/net/tools/quic/quic_dispatcher_test.cc
|
| +++ b/net/tools/quic/quic_dispatcher_test.cc
|
| @@ -105,17 +105,52 @@ class QuicDispatcherTest : public ::testing::Test {
|
| return reinterpret_cast<MockConnection*>(session2_->connection());
|
| }
|
|
|
| + QuicEncryptedPacket* ConstructEncryptedPacket(
|
| + QuicGuid guid,
|
| + bool version_flag,
|
| + bool reset_flag,
|
| + QuicPacketSequenceNumber sequence_number,
|
| + const string& data) {
|
| + QuicPacketHeader header;
|
| + header.public_header.guid = guid;
|
| + header.public_header.guid_length = PACKET_8BYTE_GUID;
|
| + header.public_header.version_flag = version_flag;
|
| + header.public_header.reset_flag = reset_flag;
|
| + header.public_header.sequence_number_length = PACKET_6BYTE_SEQUENCE_NUMBER;
|
| + header.packet_sequence_number = sequence_number;
|
| + header.entropy_flag = false;
|
| + header.entropy_hash = 0;
|
| + header.fec_flag = false;
|
| + header.is_in_fec_group = NOT_IN_FEC_GROUP;
|
| + header.fec_group = 0;
|
| + QuicStreamFrame stream_frame(1, false, 0, MakeIOVector(data));
|
| + QuicFrame frame(&stream_frame);
|
| + QuicFrames frames;
|
| + frames.push_back(frame);
|
| + QuicFramer framer(QuicSupportedVersions(), QuicTime::Zero(), false);
|
| + scoped_ptr<QuicPacket> packet(
|
| + framer.BuildUnsizedDataPacket(header, frames).packet);
|
| + EXPECT_TRUE(packet != NULL);
|
| + QuicEncryptedPacket* encrypted = framer.EncryptPacket(ENCRYPTION_NONE,
|
| + sequence_number,
|
| + *packet);
|
| + EXPECT_TRUE(encrypted != NULL);
|
| + data_ = string(encrypted->data(), encrypted->length());
|
| + return encrypted;
|
| + }
|
| +
|
| void ProcessPacket(IPEndPoint addr,
|
| QuicGuid guid,
|
| bool has_version_flag,
|
| const string& data) {
|
| - dispatcher_.ProcessPacket(
|
| - IPEndPoint(), addr, guid, has_version_flag,
|
| - QuicEncryptedPacket(data.data(), data.length()));
|
| + scoped_ptr<QuicEncryptedPacket> packet(
|
| + ConstructEncryptedPacket(guid, has_version_flag, false, 1, data));
|
| + dispatcher_.ProcessPacket(IPEndPoint(), addr, *packet.get());
|
| }
|
|
|
| void ValidatePacket(const QuicEncryptedPacket& packet) {
|
| - EXPECT_TRUE(packet.AsStringPiece().find(data_) != StringPiece::npos);
|
| + EXPECT_EQ(data_.length(), packet.AsStringPiece().length());
|
| + EXPECT_EQ(data_, packet.AsStringPiece());
|
| }
|
|
|
| EpollServer eps_;
|
| @@ -140,7 +175,6 @@ TEST_F(QuicDispatcherTest, ProcessPackets) {
|
| &dispatcher_, 2, addr, &session2_)));
|
| ProcessPacket(addr, 2, true, "bar");
|
|
|
| - data_ = "eep";
|
| EXPECT_CALL(*reinterpret_cast<MockConnection*>(session1_->connection()),
|
| ProcessUdpPacket(_, _, _)).Times(1).
|
| WillOnce(testing::WithArgs<2>(Invoke(
|
| @@ -173,7 +207,7 @@ class MockTimeWaitListManager : public QuicTimeWaitListManager {
|
| MOCK_METHOD4(ProcessPacket, void(const IPEndPoint& server_address,
|
| const IPEndPoint& client_address,
|
| QuicGuid guid,
|
| - const QuicEncryptedPacket& packet));
|
| + QuicPacketSequenceNumber sequence_number));
|
| };
|
|
|
| TEST_F(QuicDispatcherTest, TimeWaitListManager) {
|
| @@ -209,7 +243,7 @@ TEST_F(QuicDispatcherTest, TimeWaitListManager) {
|
| .WillOnce(Invoke(
|
| reinterpret_cast<MockConnection*>(session1_->connection()),
|
| &MockConnection::ReallyProcessUdpPacket));
|
| - dispatcher_.ProcessPacket(IPEndPoint(), addr, guid, true, *encrypted);
|
| + dispatcher_.ProcessPacket(IPEndPoint(), addr, *encrypted);
|
| EXPECT_TRUE(time_wait_list_manager->IsGuidInTimeWait(guid));
|
|
|
| // Dispatcher forwards subsequent packets for this guid to the time wait list
|
|
|