blob: c9de2d511934bdc6d5650bf61d6288399862e1a9 [file] [log] [blame]
# Copyright 2023 The ChromiumOS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
NAME = 'network_WiFi_ChaosLongConnect.suspend'
METADATA = {
'contacts': ['chromeos-connectivity-engprod@google.com'],
'bug_component': 'b:978946',
'criteria': 'This test 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 performs a suspend resume cycle and check the '
'liveliness of the connection to the AP.',
'hw_agnostic': False
}
TEST_TYPE = 'server'
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)]
conn_worker = connection_worker.ConnectionSuspend(suspend_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)