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

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

Issue 2825083003: Landing Recent QUIC changes until Mon Apr 17 2017 (Closed)
Patch Set: Format Created 3 years, 8 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_version_manager.cc ('k') | net/quic/core/quic_versions.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) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 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_version_manager.h" 5 #include "net/quic/core/quic_version_manager.h"
6 6
7 #include "net/quic/core/quic_flags.h"
8 #include "net/quic/core/quic_versions.h" 7 #include "net/quic/core/quic_versions.h"
8 #include "net/quic/platform/api/quic_flags.h"
9 #include "net/quic/test_tools/quic_test_utils.h" 9 #include "net/quic/test_tools/quic_test_utils.h"
10 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 namespace net { 13 namespace net {
14 namespace test { 14 namespace test {
15 namespace { 15 namespace {
16 16
17 TEST(QuicVersionManagerTest, QuicVersionManager) { 17 TEST(QuicVersionManagerTest, QuicVersionManager) {
18 QuicFlagSaver flags; 18 QuicFlagSaver flags;
19 FLAGS_quic_reloadable_flag_quic_enable_version_36_v3 = false;
20 FLAGS_quic_reloadable_flag_quic_enable_version_38 = false; 19 FLAGS_quic_reloadable_flag_quic_enable_version_38 = false;
21 FLAGS_quic_reloadable_flag_quic_enable_version_37 = false;
22 FLAGS_quic_reloadable_flag_quic_disable_version_34 = false;
23 QuicVersionManager manager(AllSupportedVersions()); 20 QuicVersionManager manager(AllSupportedVersions());
24 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 21 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
25 manager.GetSupportedVersions()); 22 manager.GetSupportedVersions());
26 23
27 FLAGS_quic_reloadable_flag_quic_enable_version_36_v3 = true; 24 FLAGS_quic_reloadable_flag_quic_enable_version_38 = true;
28 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
29 manager.GetSupportedVersions());
30 ASSERT_EQ(3u, manager.GetSupportedVersions().size());
31 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[0]);
32 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[1]);
33 EXPECT_EQ(QUIC_VERSION_34, manager.GetSupportedVersions()[2]);
34
35 FLAGS_quic_reloadable_flag_quic_enable_version_37 = true;
36 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 25 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
37 manager.GetSupportedVersions()); 26 manager.GetSupportedVersions());
38 ASSERT_EQ(4u, manager.GetSupportedVersions().size()); 27 ASSERT_EQ(4u, manager.GetSupportedVersions().size());
39 EXPECT_EQ(QUIC_VERSION_37, manager.GetSupportedVersions()[0]);
40 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[1]);
41 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[2]);
42 EXPECT_EQ(QUIC_VERSION_34, manager.GetSupportedVersions()[3]);
43
44 FLAGS_quic_reloadable_flag_quic_enable_version_38 = true;
45 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
46 manager.GetSupportedVersions());
47 ASSERT_EQ(5u, manager.GetSupportedVersions().size());
48 EXPECT_EQ(QUIC_VERSION_38, manager.GetSupportedVersions()[0]); 28 EXPECT_EQ(QUIC_VERSION_38, manager.GetSupportedVersions()[0]);
49 EXPECT_EQ(QUIC_VERSION_37, manager.GetSupportedVersions()[1]); 29 EXPECT_EQ(QUIC_VERSION_37, manager.GetSupportedVersions()[1]);
50 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[2]); 30 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[2]);
51 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[3]); 31 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[3]);
52 EXPECT_EQ(QUIC_VERSION_34, manager.GetSupportedVersions()[4]);
53 32
54 base::SetFlag(&FLAGS_quic_enable_version_39, true); 33 SetQuicFlag(&FLAGS_quic_enable_version_39, true);
55 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 34 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
56 manager.GetSupportedVersions()); 35 manager.GetSupportedVersions());
57 ASSERT_EQ(6u, manager.GetSupportedVersions().size()); 36 ASSERT_EQ(5u, manager.GetSupportedVersions().size());
58 EXPECT_EQ(QUIC_VERSION_39, manager.GetSupportedVersions()[0]); 37 EXPECT_EQ(QUIC_VERSION_39, manager.GetSupportedVersions()[0]);
59 EXPECT_EQ(QUIC_VERSION_38, manager.GetSupportedVersions()[1]); 38 EXPECT_EQ(QUIC_VERSION_38, manager.GetSupportedVersions()[1]);
60 EXPECT_EQ(QUIC_VERSION_37, manager.GetSupportedVersions()[2]); 39 EXPECT_EQ(QUIC_VERSION_37, manager.GetSupportedVersions()[2]);
61 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[3]); 40 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[3]);
62 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[4]); 41 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[4]);
63 EXPECT_EQ(QUIC_VERSION_34, manager.GetSupportedVersions()[5]);
64 42
65 FLAGS_quic_reloadable_flag_quic_disable_version_34 = true;
66 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()), 43 EXPECT_EQ(FilterSupportedVersions(AllSupportedVersions()),
67 manager.GetSupportedVersions()); 44 manager.GetSupportedVersions());
68 ASSERT_EQ(5u, manager.GetSupportedVersions().size()); 45 ASSERT_EQ(5u, manager.GetSupportedVersions().size());
69 EXPECT_EQ(QUIC_VERSION_39, manager.GetSupportedVersions()[0]); 46 EXPECT_EQ(QUIC_VERSION_39, manager.GetSupportedVersions()[0]);
70 EXPECT_EQ(QUIC_VERSION_38, manager.GetSupportedVersions()[1]); 47 EXPECT_EQ(QUIC_VERSION_38, manager.GetSupportedVersions()[1]);
71 EXPECT_EQ(QUIC_VERSION_37, manager.GetSupportedVersions()[2]); 48 EXPECT_EQ(QUIC_VERSION_37, manager.GetSupportedVersions()[2]);
72 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[3]); 49 EXPECT_EQ(QUIC_VERSION_36, manager.GetSupportedVersions()[3]);
73 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[4]); 50 EXPECT_EQ(QUIC_VERSION_35, manager.GetSupportedVersions()[4]);
74 } 51 }
75 52
76 } // namespace 53 } // namespace
77 } // namespace test 54 } // namespace test
78 } // namespace net 55 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_version_manager.cc ('k') | net/quic/core/quic_versions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698