| # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| AUTHOR = 'The Chromium OS Authors' |
| DOC = """ |
| This test puts the network interfaces through hundred(s) of |
| connect/disconnect cycles and verifies that flimflam properly detects |
| that the service is either in online or portal state. |
| |
| Use run_remote_tests.sh with --args=service_name=cell to test the |
| portal code on cellular devices. |
| """ |
| NAME = 'network_PortalStress' |
| PURPOSE = 'Stress test the portal detection code.' |
| CRITERIA = """ |
| Fails if portal code detects portal state when |
| clients3.google.com is accessible or if portal code detects online |
| when clients3.google.com is not accessible. |
| """ |
| TIME = 'LONG' |
| TEST_CATEGORY = 'Stress' |
| TEST_CLASS = 'network' |
| TEST_TYPE = 'client' |
| |
| import logging |
| logging.info('args = %s' % args) |
| |
| if args: |
| args = args[0].split(':') |
| |
| if args: |
| dict_args = dict([x.split('=') for x in args]) |
| else: |
| dict_args = {} |
| |
| # Run online cycle for hundred(s) of iterations because this is fast |
| job.run_test('network_Portal', |
| force_portal=False, tag='online', test_iterations=100, **dict_args) |
| |
| # Run the portal cycle for fewer iterations because each test must time |
| # out and that makes it exceedingly slow (15 seconds/iteration) |
| job.run_test('network_Portal', |
| force_portal=True, tag='portal', test_iterations=20, **dict_args) |