• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5AUTHOR = 'krisr, tienchang, bmahadev'
6NAME = 'network_WiFi_SuspendStress.Hidden'
7TIME = 'MEDIUM'
8TEST_TYPE = 'Server'
9DEPENDENCIES = 'servo, wificell'
10ATTRIBUTES = 'suite:wifi_matfunc, suite:wifi_matfunc_bcm4371'
11SUITE = 'wifi_matfunc, wifi_matfunc_bcm4371'
12
13DOC = """
14This test uses servo to simulate lid close and open events and checks that the
15wifi adapter is brought back up and connects to a hidden network.
16"""
17
18import copy
19
20from autotest_lib.client.common_lib.cros.network import xmlrpc_datatypes
21from autotest_lib.server.cros.network import hostap_config
22from autotest_lib.server import utils
23
24args_dict = utils.args_to_dict(args)
25servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
26
27def run(machine):
28    try:
29        host = hosts.create_host(machine, servo_args=servo_args)
30    except IOError:
31        # We probably failed to connect to the servo. That's probably
32        # because the cell doesn't have a servo.
33        #
34        # Ideally, we'd raise TestNAError here, and be done. But the
35        # test isn't actually running yet. So we instantiate a host
36        # without servo, and let the network_WiFi_SuspendStress
37        # instance report the TestNAError.
38        host = hosts.create_host(machine)
39
40    g = hostap_config.HostapConfig.MODE_11G
41    n = hostap_config.HostapConfig.MODE_11N_PURE
42    assoc_params = xmlrpc_datatypes.AssociationParameters()
43    assoc_params.is_hidden = True
44    configurations = [
45            (hostap_config.HostapConfig(channel=6, mode=g, hide_ssid=True),
46             copy.copy(assoc_params)),
47            (hostap_config.HostapConfig(channel=36, mode=n, hide_ssid=True),
48             copy.copy(assoc_params)),
49            (hostap_config.HostapConfig(channel=48, mode=n, hide_ssid=True),
50             copy.copy(assoc_params))]
51
52    job.run_test('network_WiFi_SuspendStress',
53                 host=host,
54                 tag=NAME.split('.')[1],
55                 suspends=5,
56                 raw_cmdline_args=args,
57                 additional_params=configurations)
58
59parallel_simple(run, machines)
60