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

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

Issue 2401363004: relnote: Deprecate flag quic_disable_pre_32 (Closed)
Patch Set: remove unused LoadTestCert method Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « net/quic/core/quic_protocol.cc ('k') | net/tools/quic/end_to_end_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 "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"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 // TODO(rtenneti): Enable checking of Log(ERROR) messages. 76 // TODO(rtenneti): Enable checking of Log(ERROR) messages.
77 #if 0 77 #if 0
78 // Any logs would indicate an unsupported version which we don't expect. 78 // Any logs would indicate an unsupported version which we don't expect.
79 ScopedMockLog log(kDoNotCaptureLogsYet); 79 ScopedMockLog log(kDoNotCaptureLogsYet);
80 EXPECT_CALL(log, Log(_, _, _)).Times(0); 80 EXPECT_CALL(log, Log(_, _, _)).Times(0);
81 log.StartCapturingLogs(); 81 log.StartCapturingLogs();
82 #endif 82 #endif
83 83
84 // Explicitly test a specific version. 84 // Explicitly test a specific version.
85 EXPECT_EQ(MakeQuicTag('Q', '0', '3', '0'), 85 EXPECT_EQ(MakeQuicTag('Q', '0', '3', '2'),
86 QuicVersionToQuicTag(QUIC_VERSION_30)); 86 QuicVersionToQuicTag(QUIC_VERSION_32));
87 87
88 // Loop over all supported versions and make sure that we never hit the 88 // Loop over all supported versions and make sure that we never hit the
89 // default case (i.e. all supported versions should be successfully converted 89 // default case (i.e. all supported versions should be successfully converted
90 // to valid QuicTags). 90 // to valid QuicTags).
91 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { 91 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) {
92 QuicVersion version = kSupportedQuicVersions[i]; 92 QuicVersion version = kSupportedQuicVersions[i];
93 EXPECT_LT(0u, QuicVersionToQuicTag(version)); 93 EXPECT_LT(0u, QuicVersionToQuicTag(version));
94 } 94 }
95 } 95 }
96 96
(...skipping 18 matching lines...) Expand all
115 115
116 // TODO(rtenneti): Enable checking of Log(ERROR) messages. 116 // TODO(rtenneti): Enable checking of Log(ERROR) messages.
117 #if 0 117 #if 0
118 // Any logs would indicate an unsupported version which we don't expect. 118 // Any logs would indicate an unsupported version which we don't expect.
119 ScopedMockLog log(kDoNotCaptureLogsYet); 119 ScopedMockLog log(kDoNotCaptureLogsYet);
120 EXPECT_CALL(log, Log(_, _, _)).Times(0); 120 EXPECT_CALL(log, Log(_, _, _)).Times(0);
121 log.StartCapturingLogs(); 121 log.StartCapturingLogs();
122 #endif 122 #endif
123 123
124 // Explicitly test specific versions. 124 // Explicitly test specific versions.
125 EXPECT_EQ(QUIC_VERSION_30, 125 EXPECT_EQ(QUIC_VERSION_32,
126 QuicTagToQuicVersion(MakeQuicTag('Q', '0', '3', '0'))); 126 QuicTagToQuicVersion(MakeQuicTag('Q', '0', '3', '2')));
127 127
128 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { 128 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) {
129 QuicVersion version = kSupportedQuicVersions[i]; 129 QuicVersion version = kSupportedQuicVersions[i];
130 130
131 // Get the tag from the version (we can loop over QuicVersions easily). 131 // Get the tag from the version (we can loop over QuicVersions easily).
132 QuicTag tag = QuicVersionToQuicTag(version); 132 QuicTag tag = QuicVersionToQuicTag(version);
133 EXPECT_LT(0u, tag); 133 EXPECT_LT(0u, tag);
134 134
135 // Now try converting back. 135 // Now try converting back.
136 QuicVersion tag_to_quic_version = QuicTagToQuicVersion(tag); 136 QuicVersion tag_to_quic_version = QuicTagToQuicVersion(tag);
(...skipping 12 matching lines...) Expand all
149 .Times(1); 149 .Times(1);
150 #endif 150 #endif
151 log.StartCapturingLogs(); 151 log.StartCapturingLogs();
152 #endif 152 #endif
153 153
154 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, 154 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED,
155 QuicTagToQuicVersion(MakeQuicTag('F', 'A', 'K', 'E'))); 155 QuicTagToQuicVersion(MakeQuicTag('F', 'A', 'K', 'E')));
156 } 156 }
157 157
158 TEST(QuicProtocolTest, QuicVersionToString) { 158 TEST(QuicProtocolTest, QuicVersionToString) {
159 EXPECT_EQ("QUIC_VERSION_30", QuicVersionToString(QUIC_VERSION_30)); 159 EXPECT_EQ("QUIC_VERSION_32", QuicVersionToString(QUIC_VERSION_32));
160 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED", 160 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED",
161 QuicVersionToString(QUIC_VERSION_UNSUPPORTED)); 161 QuicVersionToString(QUIC_VERSION_UNSUPPORTED));
162 162
163 QuicVersion single_version[] = {QUIC_VERSION_30}; 163 QuicVersion single_version[] = {QUIC_VERSION_32};
164 QuicVersionVector versions_vector; 164 QuicVersionVector versions_vector;
165 for (size_t i = 0; i < arraysize(single_version); ++i) { 165 for (size_t i = 0; i < arraysize(single_version); ++i) {
166 versions_vector.push_back(single_version[i]); 166 versions_vector.push_back(single_version[i]);
167 } 167 }
168 EXPECT_EQ("QUIC_VERSION_30", QuicVersionVectorToString(versions_vector)); 168 EXPECT_EQ("QUIC_VERSION_32", QuicVersionVectorToString(versions_vector));
169 169
170 QuicVersion multiple_versions[] = {QUIC_VERSION_UNSUPPORTED, QUIC_VERSION_30}; 170 QuicVersion multiple_versions[] = {QUIC_VERSION_UNSUPPORTED, QUIC_VERSION_32};
171 versions_vector.clear(); 171 versions_vector.clear();
172 for (size_t i = 0; i < arraysize(multiple_versions); ++i) { 172 for (size_t i = 0; i < arraysize(multiple_versions); ++i) {
173 versions_vector.push_back(multiple_versions[i]); 173 versions_vector.push_back(multiple_versions[i]);
174 } 174 }
175 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_30", 175 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_32",
176 QuicVersionVectorToString(versions_vector)); 176 QuicVersionVectorToString(versions_vector));
177 177
178 // Make sure that all supported versions are present in QuicVersionToString. 178 // Make sure that all supported versions are present in QuicVersionToString.
179 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { 179 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) {
180 QuicVersion version = kSupportedQuicVersions[i]; 180 QuicVersion version = kSupportedQuicVersions[i];
181 EXPECT_NE("QUIC_VERSION_UNSUPPORTED", QuicVersionToString(version)); 181 EXPECT_NE("QUIC_VERSION_UNSUPPORTED", QuicVersionToString(version));
182 } 182 }
183 } 183 }
184 184
185 TEST(QuicProtocolTest, AckFrameToString) { 185 TEST(QuicProtocolTest, AckFrameToString) {
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 TEST(QuicProtocolTest, PathCloseFrameToString) { 279 TEST(QuicProtocolTest, PathCloseFrameToString) {
280 QuicPathCloseFrame frame; 280 QuicPathCloseFrame frame;
281 frame.path_id = 1; 281 frame.path_id = 1;
282 std::ostringstream stream; 282 std::ostringstream stream;
283 stream << frame; 283 stream << frame;
284 EXPECT_EQ("{ path_id: 1 }\n", stream.str()); 284 EXPECT_EQ("{ path_id: 1 }\n", stream.str());
285 } 285 }
286 286
287 TEST(QuicProtocolTest, FilterSupportedVersions) { 287 TEST(QuicProtocolTest, FilterSupportedVersions) {
288 QuicFlagSaver flags; 288 QuicFlagSaver flags;
289 QuicVersionVector all_versions = { 289 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33,
290 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, 290 QUIC_VERSION_34, QUIC_VERSION_35,
291 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; 291 QUIC_VERSION_36};
292 292
293 FLAGS_quic_disable_pre_32 = true;
294 FLAGS_quic_disable_pre_34 = true; 293 FLAGS_quic_disable_pre_34 = true;
295 FLAGS_quic_enable_version_35 = false; 294 FLAGS_quic_enable_version_35 = false;
296 FLAGS_quic_enable_version_36_v2 = false; 295 FLAGS_quic_enable_version_36_v2 = false;
297 296
298 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); 297 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions);
299 ASSERT_EQ(1u, filtered_versions.size()); 298 ASSERT_EQ(1u, filtered_versions.size());
300 EXPECT_EQ(QUIC_VERSION_34, filtered_versions[0]); 299 EXPECT_EQ(QUIC_VERSION_34, filtered_versions[0]);
301 } 300 }
302 301
303 TEST(QuicProtocolTest, FilterSupportedVersionsAllVersions) { 302 TEST(QuicProtocolTest, FilterSupportedVersionsAllVersions) {
304 QuicFlagSaver flags; 303 QuicFlagSaver flags;
305 QuicVersionVector all_versions = { 304 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33,
306 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, 305 QUIC_VERSION_34, QUIC_VERSION_35,
307 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; 306 QUIC_VERSION_36};
308 307
309 FLAGS_quic_disable_pre_32 = false;
310 FLAGS_quic_disable_pre_34 = false; 308 FLAGS_quic_disable_pre_34 = false;
311 FLAGS_quic_enable_version_35 = true; 309 FLAGS_quic_enable_version_35 = true;
312 FLAGS_quic_enable_version_36_v2 = true; 310 FLAGS_quic_enable_version_36_v2 = true;
313 311
314 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); 312 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions);
315 ASSERT_EQ(all_versions, filtered_versions); 313 ASSERT_EQ(all_versions, filtered_versions);
316 } 314 }
317 315
318 TEST(QuicProtocolTest, FilterSupportedVersionsNo36) { 316 TEST(QuicProtocolTest, FilterSupportedVersionsNo36) {
319 QuicFlagSaver flags; 317 QuicFlagSaver flags;
320 QuicVersionVector all_versions = { 318 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33,
321 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, 319 QUIC_VERSION_34, QUIC_VERSION_35,
322 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; 320 QUIC_VERSION_36};
323 321
324 FLAGS_quic_disable_pre_32 = false;
325 FLAGS_quic_disable_pre_34 = false; 322 FLAGS_quic_disable_pre_34 = false;
326 FLAGS_quic_enable_version_35 = true; 323 FLAGS_quic_enable_version_35 = true;
327 FLAGS_quic_enable_version_36_v2 = false; 324 FLAGS_quic_enable_version_36_v2 = false;
328 325
329 all_versions.pop_back(); // Remove 36 326 all_versions.pop_back(); // Remove 36
330 327
331 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); 328 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions));
332 } 329 }
333 330
334 TEST(QuicProtocolTest, FilterSupportedVersionsNo35) { 331 TEST(QuicProtocolTest, FilterSupportedVersionsNo35) {
335 QuicFlagSaver flags; 332 QuicFlagSaver flags;
336 QuicVersionVector all_versions = { 333 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33,
337 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, 334 QUIC_VERSION_34, QUIC_VERSION_35,
338 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; 335 QUIC_VERSION_36};
339 336
340 FLAGS_quic_disable_pre_32 = false;
341 FLAGS_quic_disable_pre_34 = false; 337 FLAGS_quic_disable_pre_34 = false;
342 FLAGS_quic_enable_version_35 = true; 338 FLAGS_quic_enable_version_35 = true;
343 FLAGS_quic_enable_version_36_v2 = true; 339 FLAGS_quic_enable_version_36_v2 = true;
344 340
345 all_versions.pop_back(); // Remove 36 341 all_versions.pop_back(); // Remove 36
346 all_versions.pop_back(); // Remove 35 342 all_versions.pop_back(); // Remove 35
347 343
348 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); 344 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions));
349 } 345 }
350 346
351 TEST(QuicProtocolTest, FilterSupportedVersionsNoPre32) {
352 QuicFlagSaver flags;
353 QuicVersionVector all_versions = {
354 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33,
355 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36};
356
357 FLAGS_quic_disable_pre_32 = true;
358 FLAGS_quic_disable_pre_34 = false;
359 FLAGS_quic_enable_version_35 = true;
360 FLAGS_quic_enable_version_36_v2 = true;
361
362 all_versions.erase(all_versions.begin()); // Remove 30
363 all_versions.erase(all_versions.begin()); // Remove 31
364
365 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions));
366 }
367
368 TEST(QuicProtocolTest, FilterSupportedVersionsNoPre34) { 347 TEST(QuicProtocolTest, FilterSupportedVersionsNoPre34) {
369 QuicFlagSaver flags; 348 QuicFlagSaver flags;
370 QuicVersionVector all_versions = { 349 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33,
371 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, 350 QUIC_VERSION_34, QUIC_VERSION_35,
372 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; 351 QUIC_VERSION_36};
373 352
374 FLAGS_quic_disable_pre_32 = false;
375 FLAGS_quic_disable_pre_34 = true; 353 FLAGS_quic_disable_pre_34 = true;
376 FLAGS_quic_enable_version_35 = true; 354 FLAGS_quic_enable_version_35 = true;
377 FLAGS_quic_enable_version_36_v2 = true; 355 FLAGS_quic_enable_version_36_v2 = true;
378 356
379 all_versions.erase(all_versions.begin()); // Remove 30
380 all_versions.erase(all_versions.begin()); // Remove 31
381 all_versions.erase(all_versions.begin()); // Remove 32 357 all_versions.erase(all_versions.begin()); // Remove 32
382 all_versions.erase(all_versions.begin()); // Remove 33 358 all_versions.erase(all_versions.begin()); // Remove 33
383 359
384 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); 360 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions));
385 } 361 }
386 362
387 TEST(QuicProtocolTest, QuicVersionManager) { 363 TEST(QuicProtocolTest, QuicVersionManager) {
388 QuicFlagSaver flags; 364 QuicFlagSaver flags;
389 FLAGS_quic_enable_version_35 = false; 365 FLAGS_quic_enable_version_35 = false;
390 FLAGS_quic_enable_version_36_v2 = false; 366 FLAGS_quic_enable_version_36_v2 = false;
391 QuicVersionManager manager(AllSupportedVersions()); 367 QuicVersionManager manager(AllSupportedVersions());
392 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 368 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
393 manager.GetSupportedVersions()); 369 manager.GetSupportedVersions());
394 FLAGS_quic_enable_version_35 = true; 370 FLAGS_quic_enable_version_35 = true;
395 FLAGS_quic_enable_version_36_v2 = true; 371 FLAGS_quic_enable_version_36_v2 = true;
396 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 372 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
397 manager.GetSupportedVersions()); 373 manager.GetSupportedVersions());
398 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[0]); 374 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[0]);
399 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[1]); 375 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[1]);
400 } 376 }
401 377
402 TEST(QuicProtocolTest, LookUpVersionByIndex) { 378 TEST(QuicProtocolTest, LookUpVersionByIndex) {
403 QuicVersionVector all_versions = { 379 QuicVersionVector all_versions = {QUIC_VERSION_32, QUIC_VERSION_33,
404 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, 380 QUIC_VERSION_34, QUIC_VERSION_35,
405 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; 381 QUIC_VERSION_36};
406 int version_count = all_versions.size(); 382 int version_count = all_versions.size();
407 for (int i = -5; i <= version_count + 1; ++i) { 383 for (int i = -5; i <= version_count + 1; ++i) {
408 if (i >= 0 && i < version_count) { 384 if (i >= 0 && i < version_count) {
409 EXPECT_EQ(all_versions[i], VersionOfIndex(all_versions, i)[0]); 385 EXPECT_EQ(all_versions[i], VersionOfIndex(all_versions, i)[0]);
410 } else { 386 } else {
411 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, VersionOfIndex(all_versions, i)[0]); 387 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, VersionOfIndex(all_versions, i)[0]);
412 } 388 }
413 } 389 }
414 } 390 }
415 391
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 EXPECT_EQ(2u, queue.NumIntervals()); 520 EXPECT_EQ(2u, queue.NumIntervals());
545 EXPECT_TRUE(queue.Contains(10)); 521 EXPECT_TRUE(queue.Contains(10));
546 EXPECT_TRUE(queue.Contains(11)); 522 EXPECT_TRUE(queue.Contains(11));
547 EXPECT_TRUE(queue.Contains(20)); 523 EXPECT_TRUE(queue.Contains(20));
548 EXPECT_TRUE(queue.Contains(21)); 524 EXPECT_TRUE(queue.Contains(21));
549 } 525 }
550 526
551 } // namespace 527 } // namespace
552 } // namespace test 528 } // namespace test
553 } // namespace net 529 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_protocol.cc ('k') | net/tools/quic/end_to_end_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698