| # Copyright 2015 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 = 'samueltan, ejcaruso' |
| NAME = 'network_WiFi_ReconnectInDarkResume.DisconnectBeforeSuspendDiffAP' |
| TIME = 'SHORT' |
| TEST_TYPE = 'Server' |
| DEPENDENCIES = 'servo, wificell, lucidsleep' |
| ATTRIBUTES = 'suite:wifi_correctness_cros_core, suite:wifi_lucidsleep' |
| |
| DOC = """ |
| This test verifies that the DUT that suspends disconnected successfully |
| reconnects to a preferred network that appears while it is suspended. In this |
| test, the preferred network that appears during suspend is different from the |
| one that the DUT was last connected to before suspend. |
| |
| The test is conducted as follows: |
| |
| 1) AP ("AP 1") is brought up, and DUT connects to it |
| 2) AP 1 is brought down, disconnecting the DUT from it |
| 3) Another AP ("AP 2") is brought up, and DUT connects to it |
| 4) AP 2 is brought down, disconnecting the DUT from it |
| 5) DUT suspends while disconnected |
| 6) AP 1 is brought up again |
| 7) The DUT is woken from suspend |
| 8) Verify that the DUT is connected to AP 1 upon resuming from suspend |
| |
| We verify the connectivity status of the DUT on resume by parsing shill logs, |
| since the delays involved in waking a DUT from suspend using autotest framework |
| make real-time checks inaccurate. |
| """ |
| |
| from autotest_lib.client.common_lib.cros.network import xmlrpc_datatypes |
| from autotest_lib.client.common_lib.cros.network import xmlrpc_security_types |
| from autotest_lib.server.cros.network import hostap_config |
| from autotest_lib.server import utils |
| |
| args_dict = utils.args_to_dict(args) |
| servo_args = hosts.CrosHost.get_servo_arguments(args_dict) |
| |
| def run(machine): |
| host = hosts.create_host(machine, servo_args=servo_args) |
| job.run_test('network_WiFi_ReconnectInDarkResume', |
| host=host, |
| tag=NAME.split('.')[1], |
| disconnect_before_suspend=True, |
| reconnect_to_same_ap=False, |
| num_iterations=1, |
| raw_cmdline_args=args) |
| |
| |
| parallel_simple(run, machines) |