| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <sys/epoll.h> | 6 #include <sys/epoll.h> |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 max_enabled_options = enabled_options; | 202 max_enabled_options = enabled_options; |
| 203 } | 203 } |
| 204 | 204 |
| 205 // Run tests with no options, a single option, or all the options | 205 // Run tests with no options, a single option, or all the options |
| 206 // enabled to avoid a combinatorial explosion. | 206 // enabled to avoid a combinatorial explosion. |
| 207 if (enabled_options > 1 && enabled_options < kMaxEnabledOptions) { | 207 if (enabled_options > 1 && enabled_options < kMaxEnabledOptions) { |
| 208 continue; | 208 continue; |
| 209 } | 209 } |
| 210 | 210 |
| 211 for (const QuicVersionVector& client_versions : version_buckets) { | 211 for (const QuicVersionVector& client_versions : version_buckets) { |
| 212 if (client_versions.front() < QUIC_VERSION_30 && |
| 213 FLAGS_quic_disable_pre_30) { |
| 214 continue; |
| 215 } |
| 212 CHECK(!client_versions.empty()); | 216 CHECK(!client_versions.empty()); |
| 213 // Add an entry for server and client supporting all versions. | 217 // Add an entry for server and client supporting all versions. |
| 214 params.push_back(TestParams( | 218 params.push_back(TestParams( |
| 215 client_versions, all_supported_versions, | 219 client_versions, all_supported_versions, |
| 216 client_versions.front(), client_supports_stateless_rejects, | 220 client_versions.front(), client_supports_stateless_rejects, |
| 217 server_uses_stateless_rejects_if_peer_supported, | 221 server_uses_stateless_rejects_if_peer_supported, |
| 218 congestion_control_tag, auto_tune_flow_control_window, | 222 congestion_control_tag, auto_tune_flow_control_window, |
| 219 disable_hpack_dynamic_table)); | 223 disable_hpack_dynamic_table)); |
| 220 | 224 |
| 221 // Run version negotiation tests tests with no options, or all | 225 // Run version negotiation tests tests with no options, or all |
| 222 // the options enabled to avoid a combinatorial explosion. | 226 // the options enabled to avoid a combinatorial explosion. |
| 223 if (enabled_options > 0 && enabled_options < kMaxEnabledOptions) { | 227 if (enabled_options > 0 && enabled_options < kMaxEnabledOptions) { |
| 224 continue; | 228 continue; |
| 225 } | 229 } |
| 226 | 230 |
| 227 // Test client supporting all versions and server supporting 1 | 231 // Test client supporting all versions and server supporting 1 |
| 228 // version. Simulate an old server and exercise version downgrade | 232 // version. Simulate an old server and exercise version downgrade |
| 229 // in the client. Protocol negotiation should occur. Skip the i = | 233 // in the client. Protocol negotiation should occur. Skip the i = |
| 230 // 0 case because it is essentially the same as the default case. | 234 // 0 case because it is essentially the same as the default case. |
| 231 for (size_t i = 1; i < client_versions.size(); ++i) { | 235 for (size_t i = 1; i < client_versions.size(); ++i) { |
| 236 if (client_versions[i] < QUIC_VERSION_30 && |
| 237 FLAGS_quic_disable_pre_30) { |
| 238 continue; |
| 239 } |
| 232 QuicVersionVector server_supported_versions; | 240 QuicVersionVector server_supported_versions; |
| 233 server_supported_versions.push_back(client_versions[i]); | 241 server_supported_versions.push_back(client_versions[i]); |
| 234 params.push_back(TestParams( | 242 params.push_back(TestParams( |
| 235 client_versions, server_supported_versions, | 243 client_versions, server_supported_versions, |
| 236 server_supported_versions.front(), | 244 server_supported_versions.front(), |
| 237 client_supports_stateless_rejects, | 245 client_supports_stateless_rejects, |
| 238 server_uses_stateless_rejects_if_peer_supported, | 246 server_uses_stateless_rejects_if_peer_supported, |
| 239 congestion_control_tag, auto_tune_flow_control_window, | 247 congestion_control_tag, auto_tune_flow_control_window, |
| 240 disable_hpack_dynamic_table)); | 248 disable_hpack_dynamic_table)); |
| 241 } | 249 } |
| (...skipping 2489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2731 client_->WaitForResponse(); | 2739 client_->WaitForResponse(); |
| 2732 // TODO(fayang): Fix this test to work with stateless rejects. | 2740 // TODO(fayang): Fix this test to work with stateless rejects. |
| 2733 if (!BothSidesSupportStatelessRejects()) { | 2741 if (!BothSidesSupportStatelessRejects()) { |
| 2734 VerifyCleanConnection(true); | 2742 VerifyCleanConnection(true); |
| 2735 } | 2743 } |
| 2736 } | 2744 } |
| 2737 | 2745 |
| 2738 } // namespace | 2746 } // namespace |
| 2739 } // namespace test | 2747 } // namespace test |
| 2740 } // namespace net | 2748 } // namespace net |
| OLD | NEW |