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

Side by Side Diff: net/quic/core/quic_protocol_test.cc

Issue 2515613002: deprecate FLAGS_quic_disable_pre_34 (Closed)
Patch Set: Created 4 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
« no previous file with comments | « net/quic/core/quic_protocol.cc ('k') | net/quic/core/quic_received_packet_manager.h » ('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 "net/quic/core/quic_protocol.h" 5 #include "net/quic/core/quic_protocol.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "net/quic/core/quic_flags.h" 10 #include "net/quic/core/quic_flags.h"
11 #include "net/quic/core/quic_utils.h" 11 #include "net/quic/core/quic_utils.h"
12 #include "net/quic/test_tools/quic_test_utils.h" 12 #include "net/quic/test_tools/quic_test_utils.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 14
15 namespace net { 15 namespace net {
16 namespace test { 16 namespace test {
17 namespace { 17 namespace {
18 18
19 TEST(QuicProtocolTest, MakeQuicTag) { 19 TEST(QuicProtocolTest, MakeQuicTag) {
20 QuicTag tag = MakeQuicTag('A', 'B', 'C', 'D'); 20 QuicTag tag = MakeQuicTag('A', 'B', 'C', 'D');
21 char bytes[4]; 21 char bytes[4];
22 memcpy(bytes, &tag, 4); 22 memcpy(bytes, &tag, 4);
23 EXPECT_EQ('A', bytes[0]); 23 EXPECT_EQ('A', bytes[0]);
24 EXPECT_EQ('B', bytes[1]); 24 EXPECT_EQ('B', bytes[1]);
25 EXPECT_EQ('C', bytes[2]); 25 EXPECT_EQ('C', bytes[2]);
26 EXPECT_EQ('D', bytes[3]); 26 EXPECT_EQ('D', bytes[3]);
27 } 27 }
28 28
29 TEST(QuicProtocolTest, IsAawaitingPacket) { 29 TEST(QuicProtocolTest, IsAwaitingPacket) {
30 QuicAckFrame ack_frame;
31 ack_frame.largest_observed = 10u;
32 EXPECT_TRUE(IsAwaitingPacket(ack_frame, 11u, 0u));
33 EXPECT_FALSE(IsAwaitingPacket(ack_frame, 1u, 0u));
34
35 ack_frame.packets.Add(10);
36 EXPECT_TRUE(IsAwaitingPacket(ack_frame, 10u, 0u));
37
38 QuicAckFrame ack_frame1; 30 QuicAckFrame ack_frame1;
39 ack_frame1.missing = false;
40 ack_frame1.largest_observed = 10u; 31 ack_frame1.largest_observed = 10u;
41 ack_frame1.packets.Add(1, 11); 32 ack_frame1.packets.Add(1, 11);
42 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 11u, 0u)); 33 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 11u, 0u));
43 EXPECT_FALSE(IsAwaitingPacket(ack_frame1, 1u, 0u)); 34 EXPECT_FALSE(IsAwaitingPacket(ack_frame1, 1u, 0u));
44 35
45 ack_frame1.packets.Remove(10); 36 ack_frame1.packets.Remove(10);
46 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 10u, 0u)); 37 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 10u, 0u));
47 38
48 QuicAckFrame ack_frame2; 39 QuicAckFrame ack_frame2;
49 ack_frame2.missing = false;
50 ack_frame2.largest_observed = 100u; 40 ack_frame2.largest_observed = 100u;
51 ack_frame2.packets.Add(21, 100); 41 ack_frame2.packets.Add(21, 100);
52 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 11u, 20u)); 42 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 11u, 20u));
53 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 80u, 20u)); 43 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 80u, 20u));
54 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 101u, 20u)); 44 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 101u, 20u));
55 45
56 ack_frame2.packets.Remove(50); 46 ack_frame2.packets.Remove(50);
57 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 50u, 20u)); 47 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 50u, 20u));
58 } 48 }
59 49
60 TEST(QuicProtocolTest, QuicVersionToQuicTag) { 50 TEST(QuicProtocolTest, QuicVersionToQuicTag) {
61 // If you add a new version to the QuicVersion enum you will need to add a new 51 // If you add a new version to the QuicVersion enum you will need to add a new
62 // case to QuicVersionToQuicTag, otherwise this test will fail. 52 // case to QuicVersionToQuicTag, otherwise this test will fail.
63 53
64 // TODO(rtenneti): Enable checking of Log(ERROR) messages. 54 // TODO(rtenneti): Enable checking of Log(ERROR) messages.
65 #if 0 55 #if 0
66 // Any logs would indicate an unsupported version which we don't expect. 56 // Any logs would indicate an unsupported version which we don't expect.
67 ScopedMockLog log(kDoNotCaptureLogsYet); 57 ScopedMockLog log(kDoNotCaptureLogsYet);
68 EXPECT_CALL(log, Log(_, _, _)).Times(0); 58 EXPECT_CALL(log, Log(_, _, _)).Times(0);
69 log.StartCapturingLogs(); 59 log.StartCapturingLogs();
70 #endif 60 #endif
71 61
72 // Explicitly test a specific version. 62 // Explicitly test a specific version.
73 EXPECT_EQ(MakeQuicTag('Q', '0', '3', '2'), 63 EXPECT_EQ(MakeQuicTag('Q', '0', '3', '4'),
74 QuicVersionToQuicTag(QUIC_VERSION_32)); 64 QuicVersionToQuicTag(QUIC_VERSION_34));
75 65
76 // Loop over all supported versions and make sure that we never hit the 66 // Loop over all supported versions and make sure that we never hit the
77 // default case (i.e. all supported versions should be successfully converted 67 // default case (i.e. all supported versions should be successfully converted
78 // to valid QuicTags). 68 // to valid QuicTags).
79 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { 69 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) {
80 QuicVersion version = kSupportedQuicVersions[i]; 70 QuicVersion version = kSupportedQuicVersions[i];
81 EXPECT_LT(0u, QuicVersionToQuicTag(version)); 71 EXPECT_LT(0u, QuicVersionToQuicTag(version));
82 } 72 }
83 } 73 }
84 74
(...skipping 18 matching lines...) Expand all
103 93
104 // TODO(rtenneti): Enable checking of Log(ERROR) messages. 94 // TODO(rtenneti): Enable checking of Log(ERROR) messages.
105 #if 0 95 #if 0
106 // Any logs would indicate an unsupported version which we don't expect. 96 // Any logs would indicate an unsupported version which we don't expect.
107 ScopedMockLog log(kDoNotCaptureLogsYet); 97 ScopedMockLog log(kDoNotCaptureLogsYet);
108 EXPECT_CALL(log, Log(_, _, _)).Times(0); 98 EXPECT_CALL(log, Log(_, _, _)).Times(0);
109 log.StartCapturingLogs(); 99 log.StartCapturingLogs();
110 #endif 100 #endif
111 101
112 // Explicitly test specific versions. 102 // Explicitly test specific versions.
113 EXPECT_EQ(QUIC_VERSION_32, 103 EXPECT_EQ(QUIC_VERSION_34,
114 QuicTagToQuicVersion(MakeQuicTag('Q', '0', '3', '2'))); 104 QuicTagToQuicVersion(MakeQuicTag('Q', '0', '3', '4')));
115 105
116 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { 106 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) {
117 QuicVersion version = kSupportedQuicVersions[i]; 107 QuicVersion version = kSupportedQuicVersions[i];
118 108
119 // Get the tag from the version (we can loop over QuicVersions easily). 109 // Get the tag from the version (we can loop over QuicVersions easily).
120 QuicTag tag = QuicVersionToQuicTag(version); 110 QuicTag tag = QuicVersionToQuicTag(version);
121 EXPECT_LT(0u, tag); 111 EXPECT_LT(0u, tag);
122 112
123 // Now try converting back. 113 // Now try converting back.
124 QuicVersion tag_to_quic_version = QuicTagToQuicVersion(tag); 114 QuicVersion tag_to_quic_version = QuicTagToQuicVersion(tag);
(...skipping 12 matching lines...) Expand all
137 .Times(1); 127 .Times(1);
138 #endif 128 #endif
139 log.StartCapturingLogs(); 129 log.StartCapturingLogs();
140 #endif 130 #endif
141 131
142 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, 132 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED,
143 QuicTagToQuicVersion(MakeQuicTag('F', 'A', 'K', 'E'))); 133 QuicTagToQuicVersion(MakeQuicTag('F', 'A', 'K', 'E')));
144 } 134 }
145 135
146 TEST(QuicProtocolTest, QuicVersionToString) { 136 TEST(QuicProtocolTest, QuicVersionToString) {
147 EXPECT_EQ("QUIC_VERSION_32", QuicVersionToString(QUIC_VERSION_32)); 137 EXPECT_EQ("QUIC_VERSION_34", QuicVersionToString(QUIC_VERSION_34));
148 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED", 138 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED",
149 QuicVersionToString(QUIC_VERSION_UNSUPPORTED)); 139 QuicVersionToString(QUIC_VERSION_UNSUPPORTED));
150 140
151 QuicVersion single_version[] = {QUIC_VERSION_32}; 141 QuicVersion single_version[] = {QUIC_VERSION_34};
152 QuicVersionVector versions_vector; 142 QuicVersionVector versions_vector;
153 for (size_t i = 0; i < arraysize(single_version); ++i) { 143 for (size_t i = 0; i < arraysize(single_version); ++i) {
154 versions_vector.push_back(single_version[i]); 144 versions_vector.push_back(single_version[i]);
155 } 145 }
156 EXPECT_EQ("QUIC_VERSION_32", QuicVersionVectorToString(versions_vector)); 146 EXPECT_EQ("QUIC_VERSION_34", QuicVersionVectorToString(versions_vector));
157 147
158 QuicVersion multiple_versions[] = {QUIC_VERSION_UNSUPPORTED, QUIC_VERSION_32}; 148 QuicVersion multiple_versions[] = {QUIC_VERSION_UNSUPPORTED, QUIC_VERSION_34};
159 versions_vector.clear(); 149 versions_vector.clear();
160 for (size_t i = 0; i < arraysize(multiple_versions); ++i) { 150 for (size_t i = 0; i < arraysize(multiple_versions); ++i) {
161 versions_vector.push_back(multiple_versions[i]); 151 versions_vector.push_back(multiple_versions[i]);
162 } 152 }
163 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_32", 153 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_34",
164 QuicVersionVectorToString(versions_vector)); 154 QuicVersionVectorToString(versions_vector));
165 155
166 // Make sure that all supported versions are present in QuicVersionToString. 156 // Make sure that all supported versions are present in QuicVersionToString.
167 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { 157 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) {
168 QuicVersion version = kSupportedQuicVersions[i]; 158 QuicVersion version = kSupportedQuicVersions[i];
169 EXPECT_NE("QUIC_VERSION_UNSUPPORTED", QuicVersionToString(version)); 159 EXPECT_NE("QUIC_VERSION_UNSUPPORTED", QuicVersionToString(version));
170 } 160 }
171 } 161 }
172 162
173 TEST(QuicProtocolTest, AckFrameToString) { 163 TEST(QuicProtocolTest, AckFrameToString) {
174 QuicAckFrame frame; 164 QuicAckFrame frame;
175 frame.entropy_hash = 1;
176 frame.largest_observed = 2; 165 frame.largest_observed = 2;
177 frame.ack_delay_time = QuicTime::Delta::FromMicroseconds(3); 166 frame.ack_delay_time = QuicTime::Delta::FromMicroseconds(3);
178 frame.packets.Add(4); 167 frame.packets.Add(4);
179 frame.packets.Add(5); 168 frame.packets.Add(5);
180 frame.received_packet_times = { 169 frame.received_packet_times = {
181 {6, QuicTime::Zero() + QuicTime::Delta::FromMicroseconds(7)}}; 170 {6, QuicTime::Zero() + QuicTime::Delta::FromMicroseconds(7)}};
182 std::ostringstream stream; 171 std::ostringstream stream;
183 stream << frame; 172 stream << frame;
184 EXPECT_EQ( 173 EXPECT_EQ(
185 "{ entropy_hash: 1, largest_observed: 2, ack_delay_time: 3, " 174 "{ largest_observed: 2, ack_delay_time: 3, "
186 "packets: [ 4 5 ], is_truncated: 0, received_packets: [ 6 at 7 ] }\n", 175 "packets: [ 4 5 ], received_packets: [ 6 at 7 ] }\n",
187 stream.str()); 176 stream.str());
188 } 177 }
189 178
190 TEST(QuicProtocolTest, PaddingFrameToString) { 179 TEST(QuicProtocolTest, PaddingFrameToString) {
191 QuicPaddingFrame frame; 180 QuicPaddingFrame frame;
192 frame.num_padding_bytes = 1; 181 frame.num_padding_bytes = 1;
193 std::ostringstream stream; 182 std::ostringstream stream;
194 stream << frame; 183 stream << frame;
195 EXPECT_EQ("{ num_padding_bytes: 1 }\n", stream.str()); 184 EXPECT_EQ("{ num_padding_bytes: 1 }\n", stream.str());
196 } 185 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 frame.fin = false; 239 frame.fin = false;
251 frame.offset = 2; 240 frame.offset = 2;
252 frame.data_length = 3; 241 frame.data_length = 3;
253 std::ostringstream stream; 242 std::ostringstream stream;
254 stream << frame; 243 stream << frame;
255 EXPECT_EQ("{ stream_id: 1, fin: 0, offset: 2, length: 3 }\n", stream.str()); 244 EXPECT_EQ("{ stream_id: 1, fin: 0, offset: 2, length: 3 }\n", stream.str());
256 } 245 }
257 246
258 TEST(QuicProtocolTest, StopWaitingFrameToString) { 247 TEST(QuicProtocolTest, StopWaitingFrameToString) {
259 QuicStopWaitingFrame frame; 248 QuicStopWaitingFrame frame;
260 frame.entropy_hash = 1;
261 frame.least_unacked = 2; 249 frame.least_unacked = 2;
262 std::ostringstream stream; 250 std::ostringstream stream;
263 stream << frame; 251 stream << frame;
264 EXPECT_EQ("{ entropy_hash: 1, least_unacked: 2 }\n", stream.str()); 252 EXPECT_EQ("{ least_unacked: 2 }\n", stream.str());
265 } 253 }
266 254
267 TEST(QuicProtocolTest, PathCloseFrameToString) { 255 TEST(QuicProtocolTest, PathCloseFrameToString) {
268 QuicPathCloseFrame frame; 256 QuicPathCloseFrame frame;
269 frame.path_id = 1; 257 frame.path_id = 1;
270 std::ostringstream stream; 258 std::ostringstream stream;
271 stream << frame; 259 stream << frame;
272 EXPECT_EQ("{ path_id: 1 }\n", stream.str()); 260 EXPECT_EQ("{ path_id: 1 }\n", stream.str());
273 } 261 }
274 262
275 TEST(QuicProtocolTest, FilterSupportedVersions) { 263 TEST(QuicProtocolTest, FilterSupportedVersions) {
276 QuicFlagSaver flags; 264 QuicFlagSaver flags;
277 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33, 265 QuicVersionVector all_versions = {QUIC_VERSION_34, QUIC_VERSION_35,
278 QUIC_VERSION_34, QUIC_VERSION_35,
279 QUIC_VERSION_36}; 266 QUIC_VERSION_36};
280 267
281 FLAGS_quic_disable_pre_34 = true;
282 FLAGS_quic_enable_version_35 = false; 268 FLAGS_quic_enable_version_35 = false;
283 FLAGS_quic_enable_version_36_v2 = false; 269 FLAGS_quic_enable_version_36_v2 = false;
284 270
285 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); 271 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions);
286 ASSERT_EQ(1u, filtered_versions.size()); 272 ASSERT_EQ(1u, filtered_versions.size());
287 EXPECT_EQ(QUIC_VERSION_34, filtered_versions[0]); 273 EXPECT_EQ(QUIC_VERSION_34, filtered_versions[0]);
288 } 274 }
289 275
290 TEST(QuicProtocolTest, FilterSupportedVersionsAllVersions) { 276 TEST(QuicProtocolTest, FilterSupportedVersionsAllVersions) {
291 QuicFlagSaver flags; 277 QuicFlagSaver flags;
292 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33, 278 QuicVersionVector all_versions = {QUIC_VERSION_34, QUIC_VERSION_35,
293 QUIC_VERSION_34, QUIC_VERSION_35,
294 QUIC_VERSION_36}; 279 QUIC_VERSION_36};
295 280
296 FLAGS_quic_disable_pre_34 = false;
297 FLAGS_quic_enable_version_35 = true; 281 FLAGS_quic_enable_version_35 = true;
298 FLAGS_quic_enable_version_36_v2 = true; 282 FLAGS_quic_enable_version_36_v2 = true;
299 283
300 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); 284 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions);
301 ASSERT_EQ(all_versions, filtered_versions); 285 ASSERT_EQ(all_versions, filtered_versions);
302 } 286 }
303 287
304 TEST(QuicProtocolTest, FilterSupportedVersionsNo36) { 288 TEST(QuicProtocolTest, FilterSupportedVersionsNo36) {
305 QuicFlagSaver flags; 289 QuicFlagSaver flags;
306 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33, 290 QuicVersionVector all_versions = {QUIC_VERSION_34, QUIC_VERSION_35,
307 QUIC_VERSION_34, QUIC_VERSION_35,
308 QUIC_VERSION_36}; 291 QUIC_VERSION_36};
309 292
310 FLAGS_quic_disable_pre_34 = false;
311 FLAGS_quic_enable_version_35 = true; 293 FLAGS_quic_enable_version_35 = true;
312 FLAGS_quic_enable_version_36_v2 = false; 294 FLAGS_quic_enable_version_36_v2 = false;
313 295
314 all_versions.pop_back(); // Remove 36 296 all_versions.pop_back(); // Remove 36
315 297
316 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); 298 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions));
317 } 299 }
318 300
319 TEST(QuicProtocolTest, FilterSupportedVersionsNo35) { 301 TEST(QuicProtocolTest, FilterSupportedVersionsNo35) {
320 QuicFlagSaver flags; 302 QuicFlagSaver flags;
321 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33, 303 QuicVersionVector all_versions = {QUIC_VERSION_34, QUIC_VERSION_35,
322 QUIC_VERSION_34, QUIC_VERSION_35,
323 QUIC_VERSION_36}; 304 QUIC_VERSION_36};
324 305
325 FLAGS_quic_disable_pre_34 = false;
326 FLAGS_quic_enable_version_35 = true; 306 FLAGS_quic_enable_version_35 = true;
327 FLAGS_quic_enable_version_36_v2 = true; 307 FLAGS_quic_enable_version_36_v2 = true;
328 308
329 all_versions.pop_back(); // Remove 36 309 all_versions.pop_back(); // Remove 36
330 all_versions.pop_back(); // Remove 35 310 all_versions.pop_back(); // Remove 35
331 311
332 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); 312 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions));
333 } 313 }
334 314
335 TEST(QuicProtocolTest, FilterSupportedVersionsNoPre34) {
336 QuicFlagSaver flags;
337 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33,
338 QUIC_VERSION_34, QUIC_VERSION_35,
339 QUIC_VERSION_36};
340
341 FLAGS_quic_disable_pre_34 = true;
342 FLAGS_quic_enable_version_35 = true;
343 FLAGS_quic_enable_version_36_v2 = true;
344
345 all_versions.erase(all_versions.begin()); // Remove 32
346 all_versions.erase(all_versions.begin()); // Remove 33
347
348 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions));
349 }
350
351 TEST(QuicProtocolTest, QuicVersionManager) { 315 TEST(QuicProtocolTest, QuicVersionManager) {
352 QuicFlagSaver flags; 316 QuicFlagSaver flags;
353 FLAGS_quic_enable_version_35 = false; 317 FLAGS_quic_enable_version_35 = false;
354 FLAGS_quic_enable_version_36_v2 = false; 318 FLAGS_quic_enable_version_36_v2 = false;
355 QuicVersionManager manager(AllSupportedVersions()); 319 QuicVersionManager manager(AllSupportedVersions());
356 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 320 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
357 manager.GetSupportedVersions()); 321 manager.GetSupportedVersions());
358 FLAGS_quic_enable_version_35 = true; 322 FLAGS_quic_enable_version_35 = true;
359 FLAGS_quic_enable_version_36_v2 = true; 323 FLAGS_quic_enable_version_36_v2 = true;
360 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 324 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
361 manager.GetSupportedVersions()); 325 manager.GetSupportedVersions());
362 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[0]); 326 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[0]);
363 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[1]); 327 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[1]);
364 } 328 }
365 329
366 TEST(QuicProtocolTest, LookUpVersionByIndex) { 330 TEST(QuicProtocolTest, LookUpVersionByIndex) {
367 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33, 331 QuicVersionVector all_versions = {QUIC_VERSION_34, QUIC_VERSION_35,
368 QUIC_VERSION_34, QUIC_VERSION_35,
369 QUIC_VERSION_36}; 332 QUIC_VERSION_36};
370 int version_count = all_versions.size(); 333 int version_count = all_versions.size();
371 for (int i = -5; i <= version_count + 1; ++i) { 334 for (int i = -5; i <= version_count + 1; ++i) {
372 if (i >= 0 && i < version_count) { 335 if (i >= 0 && i < version_count) {
373 EXPECT_EQ(all_versions[i], VersionOfIndex(all_versions, i)[0]); 336 EXPECT_EQ(all_versions[i], VersionOfIndex(all_versions, i)[0]);
374 } else { 337 } else {
375 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, VersionOfIndex(all_versions, i)[0]); 338 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, VersionOfIndex(all_versions, i)[0]);
376 } 339 }
377 } 340 }
378 } 341 }
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 EXPECT_EQ(2u, queue.NumIntervals()); 471 EXPECT_EQ(2u, queue.NumIntervals());
509 EXPECT_TRUE(queue.Contains(10)); 472 EXPECT_TRUE(queue.Contains(10));
510 EXPECT_TRUE(queue.Contains(11)); 473 EXPECT_TRUE(queue.Contains(11));
511 EXPECT_TRUE(queue.Contains(20)); 474 EXPECT_TRUE(queue.Contains(20));
512 EXPECT_TRUE(queue.Contains(21)); 475 EXPECT_TRUE(queue.Contains(21));
513 } 476 }
514 477
515 } // namespace 478 } // namespace
516 } // namespace test 479 } // namespace test
517 } // namespace net 480 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_protocol.cc ('k') | net/quic/core/quic_received_packet_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698