blob: fc107bdefa24569784220c23e0f0ade725b35b78 [file] [log] [blame]
# Copyright (c) 2013 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 = 'wiley, pstew, quiche'
NAME = 'network_WiFi_SimpleConnect.wifi_checkHiddenWPA'
TIME = 'SHORT'
TEST_TYPE = 'Server'
ATTRIBUTES = ('suite:wifi_matfunc, suite:wifi_release, subsystem:wifi')
DEPENDENCIES = 'wificell'
DOC = """
This test verifies that we can connect to hidden WPA networks. It checks
several common configurations of hidden networks such as pure WPA/WPA2 and
mixed WPA/WPA2 networks.
"""
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
def get_configurations():
wpa_configs = [
xmlrpc_security_types.WPAConfig(
psk='chromeos',
wpa_mode=xmlrpc_security_types.WPAConfig.MODE_PURE_WPA,
wpa_ciphers=[xmlrpc_security_types.WPAConfig.CIPHER_TKIP]),
xmlrpc_security_types.WPAConfig(
psk='chromeos',
wpa_mode=xmlrpc_security_types.WPAConfig.MODE_PURE_WPA,
wpa_ciphers=[xmlrpc_security_types.WPAConfig.CIPHER_TKIP,
xmlrpc_security_types.WPAConfig.CIPHER_CCMP]),
xmlrpc_security_types.WPAConfig(
psk='chromeos',
wpa_mode=xmlrpc_security_types.WPAConfig.MODE_PURE_WPA2,
wpa2_ciphers=[xmlrpc_security_types.WPAConfig.CIPHER_CCMP]),
xmlrpc_security_types.WPAConfig(
psk='chromeos',
wpa_mode=xmlrpc_security_types.WPAConfig.MODE_MIXED_WPA,
wpa_ciphers=[xmlrpc_security_types.WPAConfig.CIPHER_TKIP,
xmlrpc_security_types.WPAConfig.CIPHER_CCMP],
wpa2_ciphers=[xmlrpc_security_types.WPAConfig.CIPHER_CCMP]),
]
configurations = []
for wpa_config in wpa_configs:
ap_config = hostap_config.HostapConfig(
hide_ssid=True,
frequency=2412,
mode=hostap_config.HostapConfig.MODE_11G,
security_config=wpa_config)
assoc_params = xmlrpc_datatypes.AssociationParameters(
is_hidden=True,
security_config=wpa_config)
configurations.append((ap_config, assoc_params))
return configurations
def run(machine):
host = hosts.create_host(machine)
job.run_test('network_WiFi_SimpleConnect',
tag=NAME.split('.')[1],
host=host,
raw_cmdline_args=args,
additional_params=get_configurations())
parallel_simple(run, machines)