| 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 // Common utilities for Quic tests | 5 // Common utilities for Quic tests |
| 6 | 6 |
| 7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 7 #ifndef NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
| 8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 8 #define NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
| 9 | 9 |
| 10 #include <cstdint> | 10 #include <cstdint> |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 namespace net { | 41 namespace net { |
| 42 | 42 |
| 43 namespace test { | 43 namespace test { |
| 44 | 44 |
| 45 static const QuicConnectionId kTestConnectionId = 42; | 45 static const QuicConnectionId kTestConnectionId = 42; |
| 46 static const uint16_t kTestPort = 12345; | 46 static const uint16_t kTestPort = 12345; |
| 47 static const uint32_t kInitialStreamFlowControlWindowForTest = | 47 static const uint32_t kInitialStreamFlowControlWindowForTest = |
| 48 1024 * 1024; // 1 MB | 48 1024 * 1024; // 1 MB |
| 49 static const uint32_t kInitialSessionFlowControlWindowForTest = | 49 static const uint32_t kInitialSessionFlowControlWindowForTest = |
| 50 1536 * 1024; // 1.5 MB | 50 1536 * 1024; // 1.5 MB |
| 51 // Data stream IDs start at 5: the crypto stream is 1, headers stream is 3. | |
| 52 static const QuicStreamId kClientDataStreamId1 = 5; | |
| 53 static const QuicStreamId kClientDataStreamId2 = 7; | |
| 54 static const QuicStreamId kClientDataStreamId3 = 9; | |
| 55 static const QuicStreamId kServerDataStreamId1 = 4; | |
| 56 | 51 |
| 57 // Returns the test peer IP address. | 52 // Returns the test peer IP address. |
| 58 QuicIpAddress TestPeerIPAddress(); | 53 QuicIpAddress TestPeerIPAddress(); |
| 59 | 54 |
| 60 // Upper limit on versions we support. | 55 // Upper limit on versions we support. |
| 61 QuicVersion QuicVersionMax(); | 56 QuicVersion QuicVersionMax(); |
| 62 | 57 |
| 63 // Lower limit on versions we support. | 58 // Lower limit on versions we support. |
| 64 QuicVersion QuicVersionMin(); | 59 QuicVersion QuicVersionMin(); |
| 65 | 60 |
| (...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 941 QuicServerId server_id, | 936 QuicServerId server_id, |
| 942 QuicTime::Delta connection_start_time, | 937 QuicTime::Delta connection_start_time, |
| 943 QuicVersionVector supported_versions, | 938 QuicVersionVector supported_versions, |
| 944 MockQuicConnectionHelper* helper, | 939 MockQuicConnectionHelper* helper, |
| 945 MockAlarmFactory* alarm_factory, | 940 MockAlarmFactory* alarm_factory, |
| 946 QuicCryptoServerConfig* crypto_server_config, | 941 QuicCryptoServerConfig* crypto_server_config, |
| 947 QuicCompressedCertsCache* compressed_certs_cache, | 942 QuicCompressedCertsCache* compressed_certs_cache, |
| 948 PacketSavingConnection** server_connection, | 943 PacketSavingConnection** server_connection, |
| 949 TestQuicSpdyServerSession** server_session); | 944 TestQuicSpdyServerSession** server_session); |
| 950 | 945 |
| 951 // Helper to generate client side stream ids, generalizes | |
| 952 // kClientDataStreamId1 etc. above. | |
| 953 QuicStreamId QuicClientDataStreamId(int i); | |
| 954 | |
| 955 // Verifies that the relative error of |actual| with respect to |expected| is | 946 // Verifies that the relative error of |actual| with respect to |expected| is |
| 956 // no more than |margin|. | 947 // no more than |margin|. |
| 957 | 948 |
| 958 template <typename T> | 949 template <typename T> |
| 959 void ExpectApproxEq(T expected, T actual, float relative_margin) { | 950 void ExpectApproxEq(T expected, T actual, float relative_margin) { |
| 960 // If |relative_margin| > 1 and T is an unsigned type, the comparison will | 951 // If |relative_margin| > 1 and T is an unsigned type, the comparison will |
| 961 // underflow. | 952 // underflow. |
| 962 ASSERT_LE(relative_margin, 1); | 953 ASSERT_LE(relative_margin, 1); |
| 963 ASSERT_GE(relative_margin, 0); | 954 ASSERT_GE(relative_margin, 0); |
| 964 | 955 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 983 | 974 |
| 984 // Utility function that returns an QuicIOVector object wrapped around |str|. | 975 // Utility function that returns an QuicIOVector object wrapped around |str|. |
| 985 // // |str|'s data is stored in |iov|. | 976 // // |str|'s data is stored in |iov|. |
| 986 inline QuicIOVector MakeIOVector(QuicStringPiece str, struct iovec* iov) { | 977 inline QuicIOVector MakeIOVector(QuicStringPiece str, struct iovec* iov) { |
| 987 iov->iov_base = const_cast<char*>(str.data()); | 978 iov->iov_base = const_cast<char*>(str.data()); |
| 988 iov->iov_len = static_cast<size_t>(str.size()); | 979 iov->iov_len = static_cast<size_t>(str.size()); |
| 989 QuicIOVector quic_iov(iov, 1, str.size()); | 980 QuicIOVector quic_iov(iov, 1, str.size()); |
| 990 return quic_iov; | 981 return quic_iov; |
| 991 } | 982 } |
| 992 | 983 |
| 984 // Utilities that will adapt stream ids when http stream pairs are |
| 985 // enabled. |
| 986 QuicStreamId NextStreamId(QuicVersion version); |
| 987 QuicStreamId GetNthClientInitiatedStreamId(QuicVersion version, int n); |
| 988 QuicStreamId GetNthServerInitiatedStreamId(QuicVersion version, int n); |
| 989 |
| 993 } // namespace test | 990 } // namespace test |
| 994 } // namespace net | 991 } // namespace net |
| 995 | 992 |
| 996 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ | 993 #endif // NET_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ |
| OLD | NEW |