Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2713)

Unified Diff: net/quic/quic_packet_creator_test.cc

Issue 1918953003: Landing Recent QUIC changes until 4/22/2016 14:55 UTC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Deleted SpdyFramerTests missed while mergeing 120451808 Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_packet_creator.cc ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_packet_creator_test.cc
diff --git a/net/quic/quic_packet_creator_test.cc b/net/quic/quic_packet_creator_test.cc
index b6c17f4c7e6dd0a9a00fd2489236fbb176e1cd19..73b5bef8e3ac527ef8a54885a555479a0c1a5d19 100644
--- a/net/quic/quic_packet_creator_test.cc
+++ b/net/quic/quic_packet_creator_test.cc
@@ -206,12 +206,12 @@ class QuicPacketCreatorTest : public ::testing::TestWithParam<TestParams> {
PendingRetransmission CreateRetransmission(
const QuicFrames& retransmittable_frames,
bool has_crypto_handshake,
- bool needs_padding,
+ int num_padding_bytes,
EncryptionLevel encryption_level,
QuicPacketNumberLength packet_number_length) {
return PendingRetransmission(1u, 1u, NOT_RETRANSMISSION,
retransmittable_frames, has_crypto_handshake,
- needs_padding, encryption_level,
+ num_padding_bytes, encryption_level,
packet_number_length);
}
@@ -416,7 +416,7 @@ TEST_P(QuicPacketCreatorTest, ReserializeFramesWithSequenceNumberLength) {
frames.push_back(QuicFrame(stream_frame));
char buffer[kMaxPacketSize];
PendingRetransmission retransmission(CreateRetransmission(
- frames, true /* has_crypto_handshake */, true /* needs padding */,
+ frames, true /* has_crypto_handshake */, -1 /* needs full padding */,
ENCRYPTION_NONE, PACKET_1BYTE_PACKET_NUMBER));
EXPECT_CALL(delegate_, OnSerializedPacket(_))
.WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket));
@@ -436,6 +436,7 @@ TEST_P(QuicPacketCreatorTest, ReserializeFramesWithSequenceNumberLength) {
EXPECT_CALL(framer_visitor_, OnDecryptedPacket(_));
EXPECT_CALL(framer_visitor_, OnPacketHeader(_));
EXPECT_CALL(framer_visitor_, OnStreamFrame(_));
+ EXPECT_CALL(framer_visitor_, OnPaddingFrame(_));
EXPECT_CALL(framer_visitor_, OnPacketComplete());
}
ProcessPacket(serialized_packet_);
@@ -450,7 +451,7 @@ TEST_P(QuicPacketCreatorTest, ReserializeCryptoFrameWithForwardSecurity) {
creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE);
char buffer[kMaxPacketSize];
PendingRetransmission retransmission(CreateRetransmission(
- frames, true /* has_crypto_handshake */, true /* needs padding */,
+ frames, true /* has_crypto_handshake */, -1 /* needs full padding */,
ENCRYPTION_NONE,
QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)));
EXPECT_CALL(delegate_, OnSerializedPacket(_))
@@ -468,7 +469,7 @@ TEST_P(QuicPacketCreatorTest, ReserializeFrameWithForwardSecurity) {
creator_.set_encryption_level(ENCRYPTION_FORWARD_SECURE);
char buffer[kMaxPacketSize];
PendingRetransmission retransmission(CreateRetransmission(
- frames, false /* has_crypto_handshake */, false /* needs padding */,
+ frames, false /* has_crypto_handshake */, 0 /* no padding */,
ENCRYPTION_NONE,
QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)));
EXPECT_CALL(delegate_, OnSerializedPacket(_))
@@ -478,7 +479,7 @@ TEST_P(QuicPacketCreatorTest, ReserializeFrameWithForwardSecurity) {
delete stream_frame;
}
-TEST_P(QuicPacketCreatorTest, ReserializeFramesWithPadding) {
+TEST_P(QuicPacketCreatorTest, ReserializeFramesWithFullPadding) {
QuicFrame frame;
QuicIOVector io_vector(MakeIOVector("fake handshake message data"));
QuicPacketCreatorPeer::CreateStreamFrame(&creator_, kCryptoStreamId,
@@ -487,7 +488,7 @@ TEST_P(QuicPacketCreatorTest, ReserializeFramesWithPadding) {
frames.push_back(frame);
char buffer[kMaxPacketSize];
PendingRetransmission retransmission(CreateRetransmission(
- frames, true /* has_crypto_handshake */, true /* needs padding */,
+ frames, true /* has_crypto_handshake */, -1 /* needs full padding */,
ENCRYPTION_NONE,
QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)));
EXPECT_CALL(delegate_, OnSerializedPacket(_))
@@ -497,6 +498,45 @@ TEST_P(QuicPacketCreatorTest, ReserializeFramesWithPadding) {
delete frame.stream_frame;
}
+TEST_P(QuicPacketCreatorTest, ReserializeFramesWithSpecifiedPadding) {
+ QuicFrame frame;
+ QuicIOVector io_vector(MakeIOVector("fake message data"));
+ QuicPacketCreatorPeer::CreateStreamFrame(&creator_, kCryptoStreamId,
+ io_vector, 0u, 0u, false, &frame);
+
+ const int kNumPaddingBytes1 = 4;
+ int packet_size = 0;
+ {
+ QuicFrames frames;
+ frames.push_back(frame);
+ char buffer[kMaxPacketSize];
+ PendingRetransmission retransmission(CreateRetransmission(
+ frames, false /* has_crypto_handshake */,
+ kNumPaddingBytes1 /* padding bytes */, ENCRYPTION_NONE,
+ QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)));
+ EXPECT_CALL(delegate_, OnSerializedPacket(_))
+ .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket));
+ creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize);
+ packet_size = serialized_packet_.encrypted_length;
+ }
+
+ const int kNumPaddingBytes2 = 44;
+ QuicFrames frames;
+ frames.push_back(frame);
+ char buffer[kMaxPacketSize];
+ PendingRetransmission retransmission(CreateRetransmission(
+ frames, false /* has_crypto_handshake */,
+ kNumPaddingBytes2 /* padding bytes */, ENCRYPTION_NONE,
+ QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)));
+ EXPECT_CALL(delegate_, OnSerializedPacket(_))
+ .WillOnce(Invoke(this, &QuicPacketCreatorTest::SaveSerializedPacket));
+ creator_.ReserializeAllFrames(retransmission, buffer, kMaxPacketSize);
+
+ EXPECT_EQ(packet_size + kNumPaddingBytes2 - kNumPaddingBytes1,
+ serialized_packet_.encrypted_length);
+ delete frame.stream_frame;
+}
+
TEST_P(QuicPacketCreatorTest, ReserializeFramesWithFullPacketAndPadding) {
const size_t overhead = GetPacketHeaderOverhead() + GetEncryptionOverhead() +
GetStreamFrameOverhead();
@@ -514,7 +554,7 @@ TEST_P(QuicPacketCreatorTest, ReserializeFramesWithFullPacketAndPadding) {
frames.push_back(frame);
char buffer[kMaxPacketSize];
PendingRetransmission retransmission(CreateRetransmission(
- frames, true /* has_crypto_handshake */, true /* needs padding */,
+ frames, true /* has_crypto_handshake */, -1 /* needs full padding */,
ENCRYPTION_NONE,
QuicPacketCreatorPeer::NextPacketNumberLength(&creator_)));
EXPECT_CALL(delegate_, OnSerializedPacket(_))
« no previous file with comments | « net/quic/quic_packet_creator.cc ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698