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 |