Chromium Code Reviews| 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/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 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 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 = { |
| 290 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, | 290 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, |
| 291 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; | 291 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; |
| 292 | 292 |
| 293 FLAGS_quic_disable_pre_32 = true; | 293 FLAGS_quic_disable_pre_32 = true; |
| 294 FLAGS_quic_disable_pre_34 = true; | |
| 294 FLAGS_quic_enable_version_35 = false; | 295 FLAGS_quic_enable_version_35 = false; |
| 295 FLAGS_quic_enable_version_36_v2 = false; | 296 FLAGS_quic_enable_version_36_v2 = false; |
| 296 | 297 |
| 297 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); | 298 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); |
| 298 ASSERT_EQ(3u, filtered_versions.size()); | 299 ASSERT_EQ(1u, filtered_versions.size()); |
| 299 EXPECT_EQ(QUIC_VERSION_32, filtered_versions[0]); | 300 EXPECT_EQ(QUIC_VERSION_34, filtered_versions[0]); |
| 300 EXPECT_EQ(QUIC_VERSION_33, filtered_versions[1]); | 301 } |
| 301 EXPECT_EQ(QUIC_VERSION_34, filtered_versions[2]); | 302 |
| 303 TEST(QuicProtocolTest, FilterSupportedVersionsAllVersions) { | |
|
Ryan Hamilton
2016/09/08 22:39:25
Oh, actually, you need a QuicFlagSaver in these ne
| |
| 304 QuicVersionVector all_versions = { | |
| 305 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, | |
| 306 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; | |
| 307 | |
| 308 FLAGS_quic_disable_pre_32 = false; | |
| 309 FLAGS_quic_disable_pre_34 = false; | |
| 310 FLAGS_quic_enable_version_35 = true; | |
| 311 FLAGS_quic_enable_version_36_v2 = true; | |
| 312 | |
| 313 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); | |
| 314 ASSERT_EQ(all_versions, filtered_versions); | |
| 315 } | |
| 316 | |
| 317 TEST(QuicProtocolTest, FilterSupportedVersionsNo36) { | |
| 318 QuicVersionVector all_versions = { | |
| 319 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, | |
| 320 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; | |
| 321 | |
| 322 FLAGS_quic_disable_pre_32 = false; | |
| 323 FLAGS_quic_disable_pre_34 = false; | |
| 324 FLAGS_quic_enable_version_35 = true; | |
| 325 FLAGS_quic_enable_version_36_v2 = false; | |
| 326 | |
| 327 all_versions.pop_back(); // Remove 36 | |
| 328 | |
| 329 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); | |
| 330 } | |
| 331 | |
| 332 TEST(QuicProtocolTest, FilterSupportedVersionsNo35) { | |
| 333 QuicVersionVector all_versions = { | |
| 334 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, | |
| 335 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; | |
| 336 | |
| 337 FLAGS_quic_disable_pre_32 = false; | |
| 338 FLAGS_quic_disable_pre_34 = false; | |
| 339 FLAGS_quic_enable_version_35 = true; | |
| 340 FLAGS_quic_enable_version_36_v2 = true; | |
| 341 | |
| 342 all_versions.pop_back(); // Remove 36 | |
| 343 all_versions.pop_back(); // Remove 35 | |
| 344 | |
| 345 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); | |
| 346 } | |
| 347 | |
| 348 TEST(QuicProtocolTest, FilterSupportedVersionsNoPre32) { | |
| 349 QuicVersionVector all_versions = { | |
| 350 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, | |
| 351 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; | |
| 352 | |
| 353 FLAGS_quic_disable_pre_32 = true; | |
| 354 FLAGS_quic_disable_pre_34 = false; | |
| 355 FLAGS_quic_enable_version_35 = true; | |
| 356 FLAGS_quic_enable_version_36_v2 = true; | |
| 357 | |
| 358 all_versions.erase(all_versions.begin()); // Remove 30 | |
| 359 all_versions.erase(all_versions.begin()); // Remove 31 | |
| 360 | |
| 361 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); | |
| 362 } | |
| 363 | |
| 364 TEST(QuicProtocolTest, FilterSupportedVersionsNoPre34) { | |
| 365 QuicVersionVector all_versions = { | |
| 366 QUIC_VERSION_30, QUIC_VERSION_31, QUIC_VERSION_32, QUIC_VERSION_33, | |
| 367 QUIC_VERSION_34, QUIC_VERSION_35, QUIC_VERSION_36}; | |
| 368 | |
| 369 FLAGS_quic_disable_pre_32 = false; | |
| 370 FLAGS_quic_disable_pre_34 = true; | |
| 371 FLAGS_quic_enable_version_35 = true; | |
| 372 FLAGS_quic_enable_version_36_v2 = true; | |
| 373 | |
| 374 all_versions.erase(all_versions.begin()); // Remove 30 | |
| 375 all_versions.erase(all_versions.begin()); // Remove 31 | |
| 376 all_versions.erase(all_versions.begin()); // Remove 32 | |
| 377 all_versions.erase(all_versions.begin()); // Remove 33 | |
| 378 | |
| 379 ASSERT_EQ(all_versions, FilterSupportedVersions(all_versions)); | |
| 302 } | 380 } |
| 303 | 381 |
| 304 TEST(QuicProtocolTest, QuicVersionManager) { | 382 TEST(QuicProtocolTest, QuicVersionManager) { |
| 305 QuicFlagSaver flags; | 383 QuicFlagSaver flags; |
| 306 FLAGS_quic_enable_version_35 = false; | 384 FLAGS_quic_enable_version_35 = false; |
| 307 FLAGS_quic_enable_version_36_v2 = false; | 385 FLAGS_quic_enable_version_36_v2 = false; |
| 308 QuicVersionManager manager(AllSupportedVersions()); | 386 QuicVersionManager manager(AllSupportedVersions()); |
| 309 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), | 387 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), |
| 310 manager.GetSupportedVersions()); | 388 manager.GetSupportedVersions()); |
| 311 FLAGS_quic_enable_version_35 = true; | 389 FLAGS_quic_enable_version_35 = true; |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 461 EXPECT_EQ(2u, queue.NumIntervals()); | 539 EXPECT_EQ(2u, queue.NumIntervals()); |
| 462 EXPECT_TRUE(queue.Contains(10)); | 540 EXPECT_TRUE(queue.Contains(10)); |
| 463 EXPECT_TRUE(queue.Contains(11)); | 541 EXPECT_TRUE(queue.Contains(11)); |
| 464 EXPECT_TRUE(queue.Contains(20)); | 542 EXPECT_TRUE(queue.Contains(20)); |
| 465 EXPECT_TRUE(queue.Contains(21)); | 543 EXPECT_TRUE(queue.Contains(21)); |
| 466 } | 544 } |
| 467 | 545 |
| 468 } // namespace | 546 } // namespace |
| 469 } // namespace test | 547 } // namespace test |
| 470 } // namespace net | 548 } // namespace net |
| OLD | NEW |