# Copyright (c) 2014 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 = 'asnagarajan, wiley, jabele' NAME = 'network_WiFi_ChaosLongConnect.long' TIME = 'LONG' TEST_TYPE = 'server' DOC = """ This script iterates through all of the access points in the AP compatibility lab and has a chrome device connect to each in series. This test must be performed in the AP compatibility lab. This test would hold the connection with AP and performs some work during the connection. """ from autotest_lib.server.cros.ap_configurators import ap_spec from autotest_lib.server.cros.chaos_lib import chaos_runner from autotest_lib.server.cros.network import connection_worker def run_chaos_wpa2psk(machine): host = hosts.create_host(machine) # Test with WPA2PSK on both 2.4 and 5 GHz bands ap_specs = [ap_spec.APSpec(security=ap_spec.SECURITY_TYPE_WPA2PSK, band=ap_spec.BAND_2GHZ), ap_spec.APSpec(security=ap_spec.SECURITY_TYPE_WPA2PSK, band=ap_spec.BAND_5GHZ), # Non-US models, which are all static ap_spec.APSpec(security=ap_spec.SECURITY_TYPE_WPA2PSK, band=ap_spec.BAND_5GHZ, channel=48, configurator_type=ap_spec.CONFIGURATOR_STATIC)] # Note that duration_sec of 30s would just hold the connection to the AP. # This is not going to capture re-keying events. See crbug.com/339222 conn_worker = connection_worker.ConnectionDuration(duration_sec=30) for spec in ap_specs: runner = chaos_runner.ChaosRunner( 'network_WiFi_ChaosLongConnect', host, spec) runner.run(job, conn_worker=conn_worker) parallel_simple(run_chaos_wpa2psk, machines)