| OLD | NEW |
| 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 "net/quic/test_tools/quic_test_utils.h" | 5 #include "net/quic/test_tools/quic_test_utils.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/sha1.h" | 9 #include "base/sha1.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 } | 244 } |
| 245 | 245 |
| 246 MockQuicConnection::MockQuicConnection(MockQuicConnectionHelper* helper, | 246 MockQuicConnection::MockQuicConnection(MockQuicConnectionHelper* helper, |
| 247 MockAlarmFactory* alarm_factory, | 247 MockAlarmFactory* alarm_factory, |
| 248 Perspective perspective) | 248 Perspective perspective) |
| 249 : MockQuicConnection(kTestConnectionId, | 249 : MockQuicConnection(kTestConnectionId, |
| 250 IPEndPoint(TestPeerIPAddress(), kTestPort), | 250 IPEndPoint(TestPeerIPAddress(), kTestPort), |
| 251 helper, | 251 helper, |
| 252 alarm_factory, | 252 alarm_factory, |
| 253 perspective, | 253 perspective, |
| 254 QuicSupportedVersions()) {} | 254 AllSupportedVersions()) {} |
| 255 | 255 |
| 256 MockQuicConnection::MockQuicConnection(IPEndPoint address, | 256 MockQuicConnection::MockQuicConnection(IPEndPoint address, |
| 257 MockQuicConnectionHelper* helper, | 257 MockQuicConnectionHelper* helper, |
| 258 MockAlarmFactory* alarm_factory, | 258 MockAlarmFactory* alarm_factory, |
| 259 Perspective perspective) | 259 Perspective perspective) |
| 260 : MockQuicConnection(kTestConnectionId, | 260 : MockQuicConnection(kTestConnectionId, |
| 261 address, | 261 address, |
| 262 helper, | 262 helper, |
| 263 alarm_factory, | 263 alarm_factory, |
| 264 perspective, | 264 perspective, |
| 265 QuicSupportedVersions()) {} | 265 AllSupportedVersions()) {} |
| 266 | 266 |
| 267 MockQuicConnection::MockQuicConnection(QuicConnectionId connection_id, | 267 MockQuicConnection::MockQuicConnection(QuicConnectionId connection_id, |
| 268 MockQuicConnectionHelper* helper, | 268 MockQuicConnectionHelper* helper, |
| 269 MockAlarmFactory* alarm_factory, | 269 MockAlarmFactory* alarm_factory, |
| 270 Perspective perspective) | 270 Perspective perspective) |
| 271 : MockQuicConnection(connection_id, | 271 : MockQuicConnection(connection_id, |
| 272 IPEndPoint(TestPeerIPAddress(), kTestPort), | 272 IPEndPoint(TestPeerIPAddress(), kTestPort), |
| 273 helper, | 273 helper, |
| 274 alarm_factory, | 274 alarm_factory, |
| 275 perspective, | 275 perspective, |
| 276 QuicSupportedVersions()) {} | 276 CurrentSupportedVersions()) {} |
| 277 | 277 |
| 278 MockQuicConnection::MockQuicConnection( | 278 MockQuicConnection::MockQuicConnection( |
| 279 MockQuicConnectionHelper* helper, | 279 MockQuicConnectionHelper* helper, |
| 280 MockAlarmFactory* alarm_factory, | 280 MockAlarmFactory* alarm_factory, |
| 281 Perspective perspective, | 281 Perspective perspective, |
| 282 const QuicVersionVector& supported_versions) | 282 const QuicVersionVector& supported_versions) |
| 283 : MockQuicConnection(kTestConnectionId, | 283 : MockQuicConnection(kTestConnectionId, |
| 284 IPEndPoint(TestPeerIPAddress(), kTestPort), | 284 IPEndPoint(TestPeerIPAddress(), kTestPort), |
| 285 helper, | 285 helper, |
| 286 alarm_factory, | 286 alarm_factory, |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 return hex; | 501 return hex; |
| 502 } | 502 } |
| 503 | 503 |
| 504 } // namespace | 504 } // namespace |
| 505 | 505 |
| 506 IPAddress TestPeerIPAddress() { | 506 IPAddress TestPeerIPAddress() { |
| 507 return Loopback4(); | 507 return Loopback4(); |
| 508 } | 508 } |
| 509 | 509 |
| 510 QuicVersion QuicVersionMax() { | 510 QuicVersion QuicVersionMax() { |
| 511 return QuicSupportedVersions().front(); | 511 return AllSupportedVersions().front(); |
| 512 } | 512 } |
| 513 | 513 |
| 514 QuicVersion QuicVersionMin() { | 514 QuicVersion QuicVersionMin() { |
| 515 return QuicSupportedVersions().back(); | 515 return AllSupportedVersions().back(); |
| 516 } | 516 } |
| 517 | 517 |
| 518 IPAddress Loopback4() { | 518 IPAddress Loopback4() { |
| 519 return IPAddress::IPv4Localhost(); | 519 return IPAddress::IPv4Localhost(); |
| 520 } | 520 } |
| 521 | 521 |
| 522 IPAddress Loopback6() { | 522 IPAddress Loopback6() { |
| 523 return IPAddress::IPv6Localhost(); | 523 return IPAddress::IPv6Localhost(); |
| 524 } | 524 } |
| 525 | 525 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 600 header.public_header.packet_number_length = packet_number_length; | 600 header.public_header.packet_number_length = packet_number_length; |
| 601 header.path_id = path_id; | 601 header.path_id = path_id; |
| 602 header.packet_number = packet_number; | 602 header.packet_number = packet_number; |
| 603 header.entropy_flag = false; | 603 header.entropy_flag = false; |
| 604 header.entropy_hash = 0; | 604 header.entropy_hash = 0; |
| 605 header.fec_flag = false; | 605 header.fec_flag = false; |
| 606 QuicStreamFrame stream_frame(1, false, 0, StringPiece(data)); | 606 QuicStreamFrame stream_frame(1, false, 0, StringPiece(data)); |
| 607 QuicFrame frame(&stream_frame); | 607 QuicFrame frame(&stream_frame); |
| 608 QuicFrames frames; | 608 QuicFrames frames; |
| 609 frames.push_back(frame); | 609 frames.push_back(frame); |
| 610 QuicFramer framer(versions != nullptr ? *versions : QuicSupportedVersions(), | 610 QuicFramer framer( |
| 611 QuicTime::Zero(), perspective); | 611 versions != nullptr ? *versions : CurrentSupportedVersions(), |
| 612 QuicTime::Zero(), perspective); |
| 612 | 613 |
| 613 std::unique_ptr<QuicPacket> packet( | 614 std::unique_ptr<QuicPacket> packet( |
| 614 BuildUnsizedDataPacket(&framer, header, frames)); | 615 BuildUnsizedDataPacket(&framer, header, frames)); |
| 615 EXPECT_TRUE(packet != nullptr); | 616 EXPECT_TRUE(packet != nullptr); |
| 616 char* buffer = new char[kMaxPacketSize]; | 617 char* buffer = new char[kMaxPacketSize]; |
| 617 size_t encrypted_length = framer.EncryptPayload( | 618 size_t encrypted_length = framer.EncryptPayload( |
| 618 ENCRYPTION_NONE, path_id, packet_number, *packet, buffer, kMaxPacketSize); | 619 ENCRYPTION_NONE, path_id, packet_number, *packet, buffer, kMaxPacketSize); |
| 619 EXPECT_NE(0u, encrypted_length); | 620 EXPECT_NE(0u, encrypted_length); |
| 620 return new QuicEncryptedPacket(buffer, encrypted_length, true); | 621 return new QuicEncryptedPacket(buffer, encrypted_length, true); |
| 621 } | 622 } |
| (...skipping 28 matching lines...) Expand all Loading... |
| 650 header.public_header.packet_number_length = packet_number_length; | 651 header.public_header.packet_number_length = packet_number_length; |
| 651 header.path_id = path_id; | 652 header.path_id = path_id; |
| 652 header.packet_number = packet_number; | 653 header.packet_number = packet_number; |
| 653 header.entropy_flag = false; | 654 header.entropy_flag = false; |
| 654 header.entropy_hash = 0; | 655 header.entropy_hash = 0; |
| 655 header.fec_flag = false; | 656 header.fec_flag = false; |
| 656 QuicStreamFrame stream_frame(1, false, 0, StringPiece(data)); | 657 QuicStreamFrame stream_frame(1, false, 0, StringPiece(data)); |
| 657 QuicFrame frame(&stream_frame); | 658 QuicFrame frame(&stream_frame); |
| 658 QuicFrames frames; | 659 QuicFrames frames; |
| 659 frames.push_back(frame); | 660 frames.push_back(frame); |
| 660 QuicFramer framer(versions != nullptr ? *versions : QuicSupportedVersions(), | 661 QuicFramer framer(versions != nullptr ? *versions : AllSupportedVersions(), |
| 661 QuicTime::Zero(), perspective); | 662 QuicTime::Zero(), perspective); |
| 662 | 663 |
| 663 std::unique_ptr<QuicPacket> packet( | 664 std::unique_ptr<QuicPacket> packet( |
| 664 BuildUnsizedDataPacket(&framer, header, frames)); | 665 BuildUnsizedDataPacket(&framer, header, frames)); |
| 665 EXPECT_TRUE(packet != nullptr); | 666 EXPECT_TRUE(packet != nullptr); |
| 666 | 667 |
| 667 if (framer.version() <= QUIC_VERSION_33) { | 668 if (framer.version() <= QUIC_VERSION_33) { |
| 668 // Now set the packet's private flags byte to 0xFF, which is an invalid | 669 // Now set the packet's private flags byte to 0xFF, which is an invalid |
| 669 // value. | 670 // value. |
| 670 reinterpret_cast<unsigned char*>( | 671 reinterpret_cast<unsigned char*>( |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 729 return true; | 730 return true; |
| 730 } | 731 } |
| 731 | 732 |
| 732 static QuicPacket* ConstructPacketFromHandshakeMessage( | 733 static QuicPacket* ConstructPacketFromHandshakeMessage( |
| 733 QuicConnectionId connection_id, | 734 QuicConnectionId connection_id, |
| 734 const CryptoHandshakeMessage& message, | 735 const CryptoHandshakeMessage& message, |
| 735 bool should_include_version) { | 736 bool should_include_version) { |
| 736 CryptoFramer crypto_framer; | 737 CryptoFramer crypto_framer; |
| 737 std::unique_ptr<QuicData> data( | 738 std::unique_ptr<QuicData> data( |
| 738 crypto_framer.ConstructHandshakeMessage(message)); | 739 crypto_framer.ConstructHandshakeMessage(message)); |
| 739 QuicFramer quic_framer(QuicSupportedVersions(), QuicTime::Zero(), | 740 QuicFramer quic_framer(AllSupportedVersions(), QuicTime::Zero(), |
| 740 Perspective::IS_CLIENT); | 741 Perspective::IS_CLIENT); |
| 741 | 742 |
| 742 QuicPacketHeader header; | 743 QuicPacketHeader header; |
| 743 header.public_header.connection_id = connection_id; | 744 header.public_header.connection_id = connection_id; |
| 744 header.public_header.reset_flag = false; | 745 header.public_header.reset_flag = false; |
| 745 header.public_header.version_flag = should_include_version; | 746 header.public_header.version_flag = should_include_version; |
| 746 header.packet_number = 1; | 747 header.packet_number = 1; |
| 747 header.entropy_flag = false; | 748 header.entropy_flag = false; |
| 748 header.entropy_hash = 0; | 749 header.entropy_hash = 0; |
| 749 header.fec_flag = false; | 750 header.fec_flag = false; |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 899 // strike register worries that we've just overflowed a uint32_t time. | 900 // strike register worries that we've just overflowed a uint32_t time. |
| 900 (*server_connection)->AdvanceTime(connection_start_time); | 901 (*server_connection)->AdvanceTime(connection_start_time); |
| 901 } | 902 } |
| 902 | 903 |
| 903 QuicStreamId QuicClientDataStreamId(int i) { | 904 QuicStreamId QuicClientDataStreamId(int i) { |
| 904 return kClientDataStreamId1 + 2 * i; | 905 return kClientDataStreamId1 + 2 * i; |
| 905 } | 906 } |
| 906 | 907 |
| 907 } // namespace test | 908 } // namespace test |
| 908 } // namespace net | 909 } // namespace net |
| OLD | NEW |