1# Copyright (c) 2014 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 = 'asnagarajan, wiley, jabele' 6NAME = 'network_WiFi_ChaosLongConnect.long' 7TIME = 'LONG' 8TEST_TYPE = 'server' 9 10DOC = """ 11This script iterates through all of the access points in the AP compatibility 12lab and has a chrome device connect to each in series. This test must be 13performed in the AP compatibility lab. This test would hold the connection with 14AP and performs some work during the connection. 15""" 16 17from autotest_lib.server.cros.ap_configurators import ap_spec 18from autotest_lib.server.cros.chaos_lib import chaos_runner 19from autotest_lib.server.cros.network import connection_worker 20 21def run_chaos_wpa2psk(machine): 22 host = hosts.create_host(machine) 23 # Test with WPA2PSK on both 2.4 and 5 GHz bands 24 ap_specs = [ap_spec.APSpec(security=ap_spec.SECURITY_TYPE_WPA2PSK, 25 band=ap_spec.BAND_2GHZ), 26 ap_spec.APSpec(security=ap_spec.SECURITY_TYPE_WPA2PSK, 27 band=ap_spec.BAND_5GHZ), 28 # Non-US models, which are all static 29 ap_spec.APSpec(security=ap_spec.SECURITY_TYPE_WPA2PSK, 30 band=ap_spec.BAND_5GHZ, 31 channel=48, 32 configurator_type=ap_spec.CONFIGURATOR_STATIC)] 33 # Note that duration_sec of 30s would just hold the connection to the AP. 34 # This is not going to capture re-keying events. See crbug.com/339222 35 conn_worker = connection_worker.ConnectionDuration(duration_sec=30) 36 for spec in ap_specs: 37 runner = chaos_runner.ChaosRunner( 38 'network_WiFi_ChaosLongConnect', host, spec) 39 runner.run(job, conn_worker=conn_worker) 40 41 42parallel_simple(run_chaos_wpa2psk, machines) 43