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

Side by Side Diff: net/quic/quic_framer_test.cc

Issue 47283002: Land Recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix compilation error Created 7 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_framer.cc ('k') | net/quic/quic_http_stream_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <map> 6 #include <map>
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/containers/hash_tables.h" 10 #include "base/containers/hash_tables.h"
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 QuicConnectionCloseFrame connection_close_frame_; 302 QuicConnectionCloseFrame connection_close_frame_;
303 QuicGoAwayFrame goaway_frame_; 303 QuicGoAwayFrame goaway_frame_;
304 }; 304 };
305 305
306 class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> { 306 class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> {
307 public: 307 public:
308 QuicFramerTest() 308 QuicFramerTest()
309 : encrypter_(new test::TestEncrypter()), 309 : encrypter_(new test::TestEncrypter()),
310 decrypter_(new test::TestDecrypter()), 310 decrypter_(new test::TestDecrypter()),
311 start_(QuicTime::Zero().Add(QuicTime::Delta::FromMicroseconds(0x10))), 311 start_(QuicTime::Zero().Add(QuicTime::Delta::FromMicroseconds(0x10))),
312 framer_(QuicVersionMax(), start_, true) { 312 framer_(QuicSupportedVersions(), start_, true) {
313 version_ = GetParam(); 313 version_ = GetParam();
314 framer_.set_version(version_); 314 framer_.set_version(version_);
315 framer_.SetDecrypter(decrypter_); 315 framer_.SetDecrypter(decrypter_);
316 framer_.SetEncrypter(ENCRYPTION_NONE, encrypter_); 316 framer_.SetEncrypter(ENCRYPTION_NONE, encrypter_);
317 framer_.set_visitor(&visitor_); 317 framer_.set_visitor(&visitor_);
318 framer_.set_received_entropy_calculator(&entropy_calculator_); 318 framer_.set_received_entropy_calculator(&entropy_calculator_);
319 } 319 }
320 320
321 // Helper function to get unsigned char representation of digit in the 321 // Helper function to get unsigned char representation of digit in the
322 // units place of the current QUIC version number. 322 // units place of the current QUIC version number.
(...skipping 1955 matching lines...) Expand 10 before | Expand all | Expand 10 after
2278 2278
2279 uint64 header_size = 2279 uint64 header_size =
2280 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, 2280 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion,
2281 PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); 2281 PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP);
2282 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); 2282 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
2283 2283
2284 scoped_ptr<QuicPacket> data( 2284 scoped_ptr<QuicPacket> data(
2285 framer_.BuildUnsizedDataPacket(header, frames).packet); 2285 framer_.BuildUnsizedDataPacket(header, frames).packet);
2286 ASSERT_TRUE(data != NULL); 2286 ASSERT_TRUE(data != NULL);
2287 2287
2288 // TODO(rtenneti): remove "- 16" when we remove QUIC_VERSION_10.
2288 test::CompareCharArraysWithHexError("constructed packet", 2289 test::CompareCharArraysWithHexError("constructed packet",
2289 data->data(), data->length(), 2290 data->data(), data->length(),
2290 AsChars(packet), arraysize(packet)); 2291 AsChars(packet),
2292 arraysize(packet) - 16);
2291 } 2293 }
2292 2294
2293 TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) { 2295 TEST_P(QuicFramerTest, Build4ByteSequenceNumberPaddingFramePacket) {
2294 QuicPacketHeader header; 2296 QuicPacketHeader header;
2295 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); 2297 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210);
2296 header.public_header.reset_flag = false; 2298 header.public_header.reset_flag = false;
2297 header.public_header.version_flag = false; 2299 header.public_header.version_flag = false;
2298 header.fec_flag = false; 2300 header.fec_flag = false;
2299 header.entropy_flag = false; 2301 header.entropy_flag = false;
2300 header.public_header.sequence_number_length = PACKET_4BYTE_SEQUENCE_NUMBER; 2302 header.public_header.sequence_number_length = PACKET_4BYTE_SEQUENCE_NUMBER;
(...skipping 23 matching lines...) Expand all
2324 2326
2325 uint64 header_size = 2327 uint64 header_size =
2326 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, 2328 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion,
2327 PACKET_4BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); 2329 PACKET_4BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP);
2328 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); 2330 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
2329 2331
2330 scoped_ptr<QuicPacket> data( 2332 scoped_ptr<QuicPacket> data(
2331 framer_.BuildUnsizedDataPacket(header, frames).packet); 2333 framer_.BuildUnsizedDataPacket(header, frames).packet);
2332 ASSERT_TRUE(data != NULL); 2334 ASSERT_TRUE(data != NULL);
2333 2335
2336 // TODO(rtenneti): remove "- 16" when we remove QUIC_VERSION_10.
2334 test::CompareCharArraysWithHexError("constructed packet", 2337 test::CompareCharArraysWithHexError("constructed packet",
2335 data->data(), data->length(), 2338 data->data(), data->length(),
2336 AsChars(packet), arraysize(packet)); 2339 AsChars(packet),
2340 arraysize(packet) - 16);
2337 } 2341 }
2338 2342
2339 TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) { 2343 TEST_P(QuicFramerTest, Build2ByteSequenceNumberPaddingFramePacket) {
2340 QuicPacketHeader header; 2344 QuicPacketHeader header;
2341 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); 2345 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210);
2342 header.public_header.reset_flag = false; 2346 header.public_header.reset_flag = false;
2343 header.public_header.version_flag = false; 2347 header.public_header.version_flag = false;
2344 header.fec_flag = false; 2348 header.fec_flag = false;
2345 header.entropy_flag = false; 2349 header.entropy_flag = false;
2346 header.public_header.sequence_number_length = PACKET_2BYTE_SEQUENCE_NUMBER; 2350 header.public_header.sequence_number_length = PACKET_2BYTE_SEQUENCE_NUMBER;
(...skipping 23 matching lines...) Expand all
2370 2374
2371 uint64 header_size = 2375 uint64 header_size =
2372 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, 2376 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion,
2373 PACKET_2BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); 2377 PACKET_2BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP);
2374 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); 2378 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
2375 2379
2376 scoped_ptr<QuicPacket> data( 2380 scoped_ptr<QuicPacket> data(
2377 framer_.BuildUnsizedDataPacket(header, frames).packet); 2381 framer_.BuildUnsizedDataPacket(header, frames).packet);
2378 ASSERT_TRUE(data != NULL); 2382 ASSERT_TRUE(data != NULL);
2379 2383
2384 // TODO(rtenneti): remove "- 16" when we remove QUIC_VERSION_10.
2380 test::CompareCharArraysWithHexError("constructed packet", 2385 test::CompareCharArraysWithHexError("constructed packet",
2381 data->data(), data->length(), 2386 data->data(), data->length(),
2382 AsChars(packet), arraysize(packet)); 2387 AsChars(packet),
2388 arraysize(packet) - 16);
2383 } 2389 }
2384 2390
2385 TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) { 2391 TEST_P(QuicFramerTest, Build1ByteSequenceNumberPaddingFramePacket) {
2386 QuicPacketHeader header; 2392 QuicPacketHeader header;
2387 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); 2393 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210);
2388 header.public_header.reset_flag = false; 2394 header.public_header.reset_flag = false;
2389 header.public_header.version_flag = false; 2395 header.public_header.version_flag = false;
2390 header.fec_flag = false; 2396 header.fec_flag = false;
2391 header.entropy_flag = false; 2397 header.entropy_flag = false;
2392 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER; 2398 header.public_header.sequence_number_length = PACKET_1BYTE_SEQUENCE_NUMBER;
(...skipping 23 matching lines...) Expand all
2416 2422
2417 uint64 header_size = 2423 uint64 header_size =
2418 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion, 2424 GetPacketHeaderSize(PACKET_8BYTE_GUID, !kIncludeVersion,
2419 PACKET_1BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); 2425 PACKET_1BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP);
2420 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1); 2426 memset(packet + header_size + 1, 0x00, kMaxPacketSize - header_size - 1);
2421 2427
2422 scoped_ptr<QuicPacket> data( 2428 scoped_ptr<QuicPacket> data(
2423 framer_.BuildUnsizedDataPacket(header, frames).packet); 2429 framer_.BuildUnsizedDataPacket(header, frames).packet);
2424 ASSERT_TRUE(data != NULL); 2430 ASSERT_TRUE(data != NULL);
2425 2431
2432 // TODO(rtenneti): remove "- 16" when we remove QUIC_VERSION_10.
2426 test::CompareCharArraysWithHexError("constructed packet", 2433 test::CompareCharArraysWithHexError("constructed packet",
2427 data->data(), data->length(), 2434 data->data(), data->length(),
2428 AsChars(packet), arraysize(packet)); 2435 AsChars(packet),
2436 arraysize(packet) - 16);
2429 } 2437 }
2430 2438
2431 TEST_P(QuicFramerTest, BuildStreamFramePacket) { 2439 TEST_P(QuicFramerTest, BuildStreamFramePacket) {
2432 QuicPacketHeader header; 2440 QuicPacketHeader header;
2433 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210); 2441 header.public_header.guid = GG_UINT64_C(0xFEDCBA9876543210);
2434 header.public_header.reset_flag = false; 2442 header.public_header.reset_flag = false;
2435 header.public_header.version_flag = false; 2443 header.public_header.version_flag = false;
2436 header.fec_flag = false; 2444 header.fec_flag = false;
2437 header.entropy_flag = true; 2445 header.entropy_flag = true;
2438 header.packet_sequence_number = GG_UINT64_C(0x77123456789ABC); 2446 header.packet_sequence_number = GG_UINT64_C(0x77123456789ABC);
(...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after
3491 EXPECT_CALL(visitor, OnConnectionCloseFrame(_)).Times(0); 3499 EXPECT_CALL(visitor, OnConnectionCloseFrame(_)).Times(0);
3492 EXPECT_CALL(visitor, OnPacketComplete()); 3500 EXPECT_CALL(visitor, OnPacketComplete());
3493 3501
3494 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); 3502 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
3495 EXPECT_TRUE(framer_.ProcessPacket(encrypted)); 3503 EXPECT_TRUE(framer_.ProcessPacket(encrypted));
3496 EXPECT_EQ(QUIC_NO_ERROR, framer_.error()); 3504 EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
3497 } 3505 }
3498 3506
3499 } // namespace test 3507 } // namespace test
3500 } // namespace net 3508 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_framer.cc ('k') | net/quic/quic_http_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698