From a8375c94c01c480e87262f2036b7656b85d1d11b Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 19 Oct 2014 17:54:49 +0300 Subject: [PATCH] tests: Pass wpas/hapd instance to test_connectivity() This makes it easier to replace data connectivity testing to use something else than local hwsim_test binary on the controller device. Signed-off-by: Jouni Malinen --- tests/hwsim/hwsim_utils.py | 16 +++- tests/hwsim/test_ap_ciphers.py | 12 +-- tests/hwsim/test_ap_csa.py | 22 ++--- tests/hwsim/test_ap_eap.py | 56 ++++++------ tests/hwsim/test_ap_ft.py | 116 +++++++++++++----------- tests/hwsim/test_ap_open.py | 2 +- tests/hwsim/test_ap_params.py | 22 ++--- tests/hwsim/test_ap_pmf.py | 22 ++--- tests/hwsim/test_ap_psk.py | 44 +++++----- tests/hwsim/test_ap_qosmap.py | 55 ++++++------ tests/hwsim/test_ap_roam.py | 26 +++--- tests/hwsim/test_ap_tdls.py | 131 +++++++++++++++------------- tests/hwsim/test_ap_vht.py | 14 +-- tests/hwsim/test_ap_vlan.py | 40 ++++----- tests/hwsim/test_connect_cmd.py | 4 +- tests/hwsim/test_dfs.py | 4 +- tests/hwsim/test_ibss.py | 16 ++-- tests/hwsim/test_ieee8021x.py | 14 +-- tests/hwsim/test_nfc_wps.py | 35 ++++---- tests/hwsim/test_p2p_channel.py | 54 ++++++------ tests/hwsim/test_p2p_concurrency.py | 36 ++++---- tests/hwsim/test_rfkill.py | 4 +- tests/hwsim/test_sta_dynamic.py | 10 +-- tests/hwsim/test_wep.py | 18 ++-- tests/hwsim/test_wext.py | 8 +- tests/hwsim/test_wpas_ap.py | 10 +-- 26 files changed, 411 insertions(+), 380 deletions(-) diff --git a/tests/hwsim/hwsim_utils.py b/tests/hwsim/hwsim_utils.py index 6f662f5ff..3af817818 100644 --- a/tests/hwsim/hwsim_utils.py +++ b/tests/hwsim/hwsim_utils.py @@ -10,7 +10,7 @@ import time import logging logger = logging.getLogger() -def test_connectivity(ifname1, ifname2, dscp=None, tos=None, max_tries=1): +def test_connectivity_run(ifname1, ifname2, dscp=None, tos=None, max_tries=1): if os.path.isfile("../../mac80211_hwsim/tools/hwsim_test"): hwsim_test = "../../mac80211_hwsim/tools/hwsim_test" else: @@ -40,17 +40,25 @@ def test_connectivity(ifname1, ifname2, dscp=None, tos=None, max_tries=1): if not success: raise Exception("hwsim_test failed") +def test_connectivity(dev1, dev2, dscp=None, tos=None, max_tries=1): + test_connectivity_run(dev1.ifname, dev2.ifname, dscp=dscp, tos=tos, + max_tries=max_tries) + +def test_connectivity_iface(dev1, ifname, dscp=None, tos=None, max_tries=1): + test_connectivity_run(dev1.ifname, ifname, dscp=dscp, tos=tos, + max_tries=max_tries) + def test_connectivity_p2p(dev1, dev2, dscp=None, tos=None): ifname1 = dev1.group_ifname if dev1.group_ifname else dev1.ifname ifname2 = dev2.group_ifname if dev2.group_ifname else dev2.ifname - test_connectivity(ifname1, ifname2, dscp, tos) + test_connectivity_run(ifname1, ifname2, dscp, tos) def test_connectivity_p2p_sta(dev1, dev2, dscp=None, tos=None): ifname1 = dev1.group_ifname if dev1.group_ifname else dev1.ifname ifname2 = dev2.ifname - test_connectivity(ifname1, ifname2, dscp, tos) + test_connectivity_run(ifname1, ifname2, dscp, tos) def test_connectivity_sta(dev1, dev2, dscp=None, tos=None): ifname1 = dev1.ifname ifname2 = dev2.ifname - test_connectivity(ifname1, ifname2, dscp, tos) + test_connectivity_run(ifname1, ifname2, dscp, tos) diff --git a/tests/hwsim/test_ap_ciphers.py b/tests/hwsim/test_ap_ciphers.py index b06b1e791..5054e9318 100644 --- a/tests/hwsim/test_ap_ciphers.py +++ b/tests/hwsim/test_ap_ciphers.py @@ -21,10 +21,10 @@ def check_cipher(dev, ap, cipher): "wpa": "2", "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": cipher } - hostapd.add_ap(ap['ifname'], params) + hapd = hostapd.add_ap(ap['ifname'], params) dev.connect("test-wpa2-psk", psk="12345678", pairwise=cipher, group=cipher, scan_freq="2412") - hwsim_utils.test_connectivity(dev.ifname, ap['ifname']) + hwsim_utils.test_connectivity(dev, hapd) def test_ap_cipher_tkip(dev, apdev): """WPA2-PSK/TKIP connection""" @@ -140,7 +140,7 @@ def test_ap_cipher_mixed_wpa_wpa2(dev, apdev): "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", "wpa_pairwise": "TKIP" } - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, proto="WPA2", pairwise="CCMP", group="TKIP", scan_freq="2412") status = dev[0].get_status() @@ -157,7 +157,7 @@ def test_ap_cipher_mixed_wpa_wpa2(dev, apdev): raise Exception("Missing BSS flag WPA-PSK-TKIP") if "[WPA2-PSK-CCMP]" not in bss['flags']: raise Exception("Missing BSS flag WPA2-PSK-CCMP") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[1].connect(ssid, psk=passphrase, proto="WPA", pairwise="TKIP", group="TKIP", scan_freq="2412") @@ -168,5 +168,5 @@ def test_ap_cipher_mixed_wpa_wpa2(dev, apdev): raise Exception("Incorrect pairwise_cipher reported") if status['group_cipher'] != 'TKIP': raise Exception("Incorrect group_cipher reported") - hwsim_utils.test_connectivity(dev[1].ifname, apdev[0]['ifname']) - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) + hwsim_utils.test_connectivity(dev[1], hapd) + hwsim_utils.test_connectivity(dev[0], dev[1]) diff --git a/tests/hwsim/test_ap_csa.py b/tests/hwsim/test_ap_csa.py index 0c26a3b83..ebf926fb1 100644 --- a/tests/hwsim/test_ap_csa.py +++ b/tests/hwsim/test_ap_csa.py @@ -39,9 +39,9 @@ def test_ap_csa_1_switch(dev, apdev): return "skip" ap = connect(dev[0], apdev) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 10, 2462) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) def test_ap_csa_2_switches(dev, apdev): """AP Channel Switch, two switches""" @@ -49,11 +49,11 @@ def test_ap_csa_2_switches(dev, apdev): return "skip" ap = connect(dev[0], apdev) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 10, 2462) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 10, 2412) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) def test_ap_csa_1_switch_count_0(dev, apdev): """AP Channel Switch, one switch with count 0""" @@ -61,7 +61,7 @@ def test_ap_csa_1_switch_count_0(dev, apdev): return "skip" ap = connect(dev[0], apdev) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 0, 2462) # this does not result in CSA currently, so do not bother checking # connectivity @@ -72,7 +72,7 @@ def test_ap_csa_2_switches_count_0(dev, apdev): return "skip" ap = connect(dev[0], apdev) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 0, 2462) # this does not result in CSA currently, so do not bother checking # connectivity @@ -86,7 +86,7 @@ def test_ap_csa_1_switch_count_1(dev, apdev): return "skip" ap = connect(dev[0], apdev) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 1, 2462) # this does not result in CSA currently, so do not bother checking # connectivity @@ -97,7 +97,7 @@ def test_ap_csa_2_switches_count_1(dev, apdev): return "skip" ap = connect(dev[0], apdev) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 1, 2462) # this does not result in CSA currently, so do not bother checking # connectivity @@ -111,6 +111,6 @@ def test_ap_csa_1_switch_count_2(dev, apdev): return "skip" ap = connect(dev[0], apdev) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) switch_channel(ap, 2, 2462) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], ap) diff --git a/tests/hwsim/test_ap_eap.py b/tests/hwsim/test_ap_eap.py index 550a67f3f..092811710 100644 --- a/tests/hwsim/test_ap_eap.py +++ b/tests/hwsim/test_ap_eap.py @@ -107,10 +107,10 @@ def test_ap_wpa2_eap_sim(dev, apdev): logger.info("No hlr_auc_gw available"); return "skip" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "SIM", "1232010000000000", password="90dca4eda45b53cf0f12d7c9c3bc6a89:cb9cccc4b9258e6dca4760379fb82581") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "SIM") eap_connect(dev[1], apdev[0], "SIM", "1232010000000001", @@ -378,10 +378,10 @@ def test_ap_wpa2_eap_aka(dev, apdev): logger.info("No hlr_auc_gw available"); return "skip" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "AKA", "0232010000000000", password="90dca4eda45b53cf0f12d7c9c3bc6a89:cb9cccc4b9258e6dca4760379fb82581:000000000123") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "AKA") logger.info("Negative test with incorrect key") @@ -672,10 +672,10 @@ def test_ap_wpa2_eap_aka_prime(dev, apdev): logger.info("No hlr_auc_gw available"); return "skip" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "AKA'", "6555444333222111", password="5122250214c33e723a5dd523fc145fc0:981d464c7c52eb6e5036234984ad0bcf:000000000123") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "AKA'") logger.info("EAP-AKA' bidding protection when EAP-AKA enabled as well") @@ -765,7 +765,7 @@ def test_ap_wpa2_eap_ttls_pap(dev, apdev): ca_cert="auth_serv/ca.pem", phase2="auth=PAP", subject_match="/C=FI/O=w1.fi/CN=server.w1.fi", altsubject_match="EMAIL:noone@example.com;DNS:server.w1.fi;URI:http://example.com/") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "TTLS") check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-0f-ac-1"), ("dot11RSNAAuthenticationSuiteSelected", "00-0f-ac-1") ]) @@ -786,12 +786,12 @@ def test_ap_wpa2_eap_ttls_pap_incorrect_password(dev, apdev): def test_ap_wpa2_eap_ttls_chap(dev, apdev): """WPA2-Enterprise connection using EAP-TTLS/CHAP""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "TTLS", "chap user", anonymous_identity="ttls", password="password", ca_cert="auth_serv/ca.der", phase2="auth=CHAP", altsubject_match="EMAIL:noone@example.com;URI:http://example.com/;DNS:server.w1.fi") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "TTLS") def test_ap_wpa2_eap_ttls_chap_incorrect_password(dev, apdev): @@ -810,12 +810,12 @@ def test_ap_wpa2_eap_ttls_chap_incorrect_password(dev, apdev): def test_ap_wpa2_eap_ttls_mschap(dev, apdev): """WPA2-Enterprise connection using EAP-TTLS/MSCHAP""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "TTLS", "mschap user", anonymous_identity="ttls", password="password", ca_cert="auth_serv/ca.pem", phase2="auth=MSCHAP", domain_suffix_match="server.w1.fi") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "TTLS") dev[0].request("REMOVE_NETWORK all") eap_connect(dev[0], apdev[0], "TTLS", "mschap user", @@ -849,7 +849,7 @@ def test_ap_wpa2_eap_ttls_mschapv2(dev, apdev): anonymous_identity="ttls", password="password", ca_cert="auth_serv/ca.pem", phase2="auth=MSCHAPV2", domain_suffix_match="w1.fi") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) sta1 = hapd.get_sta(dev[0].p2p_interface_addr()) eapol1 = hapd.get_sta(dev[0].p2p_interface_addr(), info="eapol") eap_reauth(dev[0], "TTLS") @@ -898,31 +898,31 @@ def test_ap_wpa2_eap_ttls_mschapv2_utf8(dev, apdev): def test_ap_wpa2_eap_ttls_eap_gtc(dev, apdev): """WPA2-Enterprise connection using EAP-TTLS/EAP-GTC""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "TTLS", "user", anonymous_identity="ttls", password="password", ca_cert="auth_serv/ca.pem", phase2="autheap=GTC") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "TTLS") def test_ap_wpa2_eap_ttls_eap_md5(dev, apdev): """WPA2-Enterprise connection using EAP-TTLS/EAP-MD5""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "TTLS", "user", anonymous_identity="ttls", password="password", ca_cert="auth_serv/ca.pem", phase2="autheap=MD5") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "TTLS") def test_ap_wpa2_eap_ttls_eap_mschapv2(dev, apdev): """WPA2-Enterprise connection using EAP-TTLS/EAP-MSCHAPv2""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "TTLS", "user", anonymous_identity="ttls", password="password", ca_cert="auth_serv/ca.pem", phase2="autheap=MSCHAPV2") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "TTLS") logger.info("Negative test with incorrect password") @@ -964,11 +964,11 @@ def test_ap_wpa2_eap_fast_eap_aka(dev, apdev): def test_ap_wpa2_eap_peap_eap_mschapv2(dev, apdev): """WPA2-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "PEAP", "user", anonymous_identity="peap", password="password", ca_cert="auth_serv/ca.pem", phase2="auth=MSCHAPV2") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "PEAP") dev[0].request("REMOVE_NETWORK all") eap_connect(dev[0], apdev[0], "PEAP", "user", @@ -993,12 +993,12 @@ def test_ap_wpa2_eap_peap_eap_mschapv2(dev, apdev): def test_ap_wpa2_eap_peap_crypto_binding(dev, apdev): """WPA2-Enterprise connection using EAP-PEAPv0/EAP-MSCHAPv2 and crypto binding""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "PEAP", "user", password="password", ca_cert="auth_serv/ca.pem", phase1="peapver=0 crypto_binding=2", phase2="auth=MSCHAPV2") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "PEAP") eap_connect(dev[1], apdev[0], "PEAP", "user", password="password", @@ -1692,13 +1692,13 @@ def test_ap_wpa2_eap_psk(dev, apdev): def test_ap_wpa_eap_peap_eap_mschapv2(dev, apdev): """WPA-Enterprise connection using EAP-PEAP/EAP-MSCHAPv2""" params = hostapd.wpa_eap_params(ssid="test-wpa-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("test-wpa-eap", key_mgmt="WPA-EAP", eap="PEAP", identity="user", password="password", phase2="auth=MSCHAPV2", ca_cert="auth_serv/ca.pem", wait_connect=False, scan_freq="2412") eap_check_auth(dev[0], "PEAP", True, rsn=False) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "PEAP", rsn=False) check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-50-f2-1"), ("dot11RSNAAuthenticationSuiteSelected", "00-50-f2-1") ]) @@ -1756,12 +1756,12 @@ def test_ap_wpa2_eap_vendor_test(dev, apdev): def test_ap_wpa2_eap_fast_mschapv2_unauth_prov(dev, apdev): """WPA2-Enterprise connection using EAP-FAST/MSCHAPv2 and unauthenticated provisioning""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "FAST", "user", anonymous_identity="FAST", password="password", ca_cert="auth_serv/ca.pem", phase2="auth=MSCHAPV2", phase1="fast_provisioning=1", pac_file="blob://fast_pac") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "FAST") def test_ap_wpa2_eap_fast_pac_file(dev, apdev, params): @@ -1842,12 +1842,12 @@ def test_ap_wpa2_eap_fast_missing_pac_config(dev, apdev): def test_ap_wpa2_eap_fast_gtc_auth_prov(dev, apdev): """WPA2-Enterprise connection using EAP-FAST/GTC and authenticated provisioning""" params = hostapd.wpa2_eap_params(ssid="test-wpa2-eap") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) eap_connect(dev[0], apdev[0], "FAST", "user", anonymous_identity="FAST", password="password", ca_cert="auth_serv/ca.pem", phase2="auth=GTC", phase1="fast_provisioning=2", pac_file="blob://fast_pac_auth") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) eap_reauth(dev[0], "FAST") def test_ap_wpa2_eap_tls_ocsp(dev, apdev): diff --git a/tests/hwsim/test_ap_ft.py b/tests/hwsim/test_ap_ft.py index 7891ea097..04bc529a7 100644 --- a/tests/hwsim/test_ap_ft.py +++ b/tests/hwsim/test_ap_ft.py @@ -88,7 +88,7 @@ def ft_params2_r0kh_mismatch(rsn=True, ssid=None, passphrase=None): params['r1kh'] = "12:00:00:00:03:00 10:01:02:03:04:05 300102030405060708090a0b0c0d0e0f" return params -def run_roams(dev, apdev, ssid, passphrase, over_ds=False, sae=False, eap=False, fail_test=False, roams=1): +def run_roams(dev, apdev, hapd0, hapd1, ssid, passphrase, over_ds=False, sae=False, eap=False, fail_test=False, roams=1): logger.info("Connect to first AP") if eap: dev.connect(ssid, key_mgmt="FT-EAP", proto="WPA2", ieee80211w="1", @@ -103,10 +103,14 @@ def run_roams(dev, apdev, ssid, passphrase, over_ds=False, sae=False, eap=False, if dev.get_status_field('bssid') == apdev[0]['bssid']: ap1 = apdev[0] ap2 = apdev[1] + hapd1ap = hapd0 + hapd2ap = hapd1 else: ap1 = apdev[1] ap2 = apdev[0] - hwsim_utils.test_connectivity(dev.ifname, ap1['ifname']) + hapd1ap = hapd1 + hapd2ap = hapd0 + hwsim_utils.test_connectivity(dev, hapd1ap) dev.scan_for_bss(ap2['bssid'], freq="2412") @@ -121,7 +125,7 @@ def run_roams(dev, apdev, ssid, passphrase, over_ds=False, sae=False, eap=False, if dev.get_status_field('bssid') != ap2['bssid']: raise Exception("Did not connect to correct AP") if i == 0 or i == roams - 1: - hwsim_utils.test_connectivity(dev.ifname, ap2['ifname']) + hwsim_utils.test_connectivity(dev, hapd2ap) logger.info("Roam back to the first AP") if over_ds: @@ -131,7 +135,7 @@ def run_roams(dev, apdev, ssid, passphrase, over_ds=False, sae=False, eap=False, if dev.get_status_field('bssid') != ap1['bssid']: raise Exception("Did not connect to correct AP") if i == 0 or i == roams - 1: - hwsim_utils.test_connectivity(dev.ifname, ap1['ifname']) + hwsim_utils.test_connectivity(dev, hapd1ap) def test_ap_ft(dev, apdev): """WPA2-PSK-FT AP""" @@ -139,11 +143,11 @@ def test_ap_ft(dev, apdev): passphrase="12345678" params = ft_params1(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase) if "[WPA2-FT/PSK-CCMP]" not in dev[0].request("SCAN_RESULTS"): raise Exception("Scan results missing RSN element info") @@ -153,11 +157,11 @@ def test_ap_ft_many(dev, apdev): passphrase="12345678" params = ft_params1(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, roams=50) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, roams=50) def test_ap_ft_mixed(dev, apdev): """WPA2-PSK-FT mixed-mode AP""" @@ -171,9 +175,9 @@ def test_ap_ft_mixed(dev, apdev): if vals[0] != "WPA-PSK" or vals[1] != "FT-PSK": raise Exception("Unexpected GET_CONFIG(key_mgmt): " + key_mgmt) params = ft_params2(rsn=False, ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase) + run_roams(dev[0], apdev, hapd, hapd1, ssid, passphrase) def test_ap_ft_pmf(dev, apdev): """WPA2-PSK-FT AP with PMF""" @@ -182,12 +186,12 @@ def test_ap_ft_pmf(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase) def test_ap_ft_over_ds(dev, apdev): """WPA2-PSK-FT AP over DS""" @@ -195,11 +199,11 @@ def test_ap_ft_over_ds(dev, apdev): passphrase="12345678" params = ft_params1(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True) check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-0f-ac-4"), ("dot11RSNAAuthenticationSuiteSelected", "00-0f-ac-4") ]) @@ -209,11 +213,12 @@ def test_ap_ft_over_ds_many(dev, apdev): passphrase="12345678" params = ft_params1(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True, roams=50) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True, + roams=50) def test_ap_ft_pmf_over_ds(dev, apdev): """WPA2-PSK-FT AP over DS with PMF""" @@ -222,12 +227,12 @@ def test_ap_ft_pmf_over_ds(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True) def test_ap_ft_over_ds_pull(dev, apdev): """WPA2-PSK-FT AP over DS (pull PMK)""" @@ -236,12 +241,12 @@ def test_ap_ft_over_ds_pull(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params["pmk_r1_push"] = "0" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) params["pmk_r1_push"] = "0" - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True) def test_ap_ft_sae(dev, apdev): """WPA2-PSK-FT-SAE AP""" @@ -250,7 +255,7 @@ def test_ap_ft_sae(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params['wpa_key_mgmt'] = "FT-SAE" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) params['wpa_key_mgmt'] = "FT-SAE" hapd = hostapd.add_ap(apdev[1]['ifname'], params) @@ -258,7 +263,7 @@ def test_ap_ft_sae(dev, apdev): if key_mgmt.split(' ')[0] != "FT-SAE": raise Exception("Unexpected GET_CONFIG(key_mgmt): " + key_mgmt) - run_roams(dev[0], apdev, ssid, passphrase, sae=True) + run_roams(dev[0], apdev, hapd0, hapd, ssid, passphrase, sae=True) def test_ap_ft_sae_over_ds(dev, apdev): """WPA2-PSK-FT-SAE AP over DS""" @@ -267,12 +272,13 @@ def test_ap_ft_sae_over_ds(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params['wpa_key_mgmt'] = "FT-SAE" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) params['wpa_key_mgmt'] = "FT-SAE" - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, sae=True, over_ds=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, sae=True, + over_ds=True) def test_ap_ft_eap(dev, apdev): """WPA2-EAP-FT AP""" @@ -292,9 +298,9 @@ def test_ap_ft_eap(dev, apdev): params['wpa_key_mgmt'] = "FT-EAP" params["ieee8021x"] = "1" params = dict(radius.items() + params.items()) - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, eap=True) + run_roams(dev[0], apdev, hapd, hapd1, ssid, passphrase, eap=True) if "[WPA2-FT/EAP-CCMP]" not in dev[0].request("SCAN_RESULTS"): raise Exception("Scan results missing RSN element info") check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-0f-ac-3"), @@ -320,9 +326,9 @@ def test_ap_ft_eap_pull(dev, apdev): params["ieee8021x"] = "1" params["pmk_r1_push"] = "0" params = dict(radius.items() + params.items()) - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, eap=True) + run_roams(dev[0], apdev, hapd, hapd1, ssid, passphrase, eap=True) def test_ap_ft_mismatching_rrb_key_push(dev, apdev): """WPA2-PSK-FT AP over DS with mismatching RRB key (push)""" @@ -331,12 +337,13 @@ def test_ap_ft_mismatching_rrb_key_push(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2_incorrect_rrb_key(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True, fail_test=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True, + fail_test=True) def test_ap_ft_mismatching_rrb_key_pull(dev, apdev): """WPA2-PSK-FT AP over DS with mismatching RRB key (pull)""" @@ -345,12 +352,13 @@ def test_ap_ft_mismatching_rrb_key_pull(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params["pmk_r1_push"] = "0" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2_incorrect_rrb_key(ssid=ssid, passphrase=passphrase) params["pmk_r1_push"] = "0" - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True, fail_test=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True, + fail_test=True) def test_ap_ft_mismatching_r0kh_id_pull(dev, apdev): """WPA2-PSK-FT AP over DS with mismatching R0KH-ID (pull)""" @@ -377,12 +385,13 @@ def test_ap_ft_mismatching_rrb_r0kh_push(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2_r0kh_mismatch(ssid=ssid, passphrase=passphrase) params["ieee80211w"] = "2"; - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True, fail_test=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True, + fail_test=True) def test_ap_ft_mismatching_rrb_r0kh_pull(dev, apdev): """WPA2-PSK-FT AP over DS with mismatching R0KH key (pull)""" @@ -391,12 +400,13 @@ def test_ap_ft_mismatching_rrb_r0kh_pull(dev, apdev): params = ft_params1_r0kh_mismatch(ssid=ssid, passphrase=passphrase) params["pmk_r1_push"] = "0" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) params = ft_params2(ssid=ssid, passphrase=passphrase) params["pmk_r1_push"] = "0" - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) - run_roams(dev[0], apdev, ssid, passphrase, over_ds=True, fail_test=True) + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True, + fail_test=True) def test_ap_ft_gtk_rekey(dev, apdev): """WPA2-PSK-FT AP and GTK rekey""" @@ -405,7 +415,7 @@ def test_ap_ft_gtk_rekey(dev, apdev): params = ft_params1(ssid=ssid, passphrase=passphrase) params['wpa_group_rekey'] = '1' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, key_mgmt="FT-PSK", proto="WPA2", ieee80211w="1") @@ -413,19 +423,19 @@ def test_ap_ft_gtk_rekey(dev, apdev): ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2) if ev is None: raise Exception("GTK rekey timed out after initial association") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) params = ft_params2(ssid=ssid, passphrase=passphrase) params['wpa_group_rekey'] = '1' - hostapd.add_ap(apdev[1]['ifname'], params) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) dev[0].scan_for_bss(apdev[1]['bssid'], freq="2412") dev[0].roam(apdev[1]['bssid']) if dev[0].get_status_field('bssid') != apdev[1]['bssid']: raise Exception("Did not connect to correct AP") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[1]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd1) ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2) if ev is None: raise Exception("GTK rekey timed out after FT protocol") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[1]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd1) diff --git a/tests/hwsim/test_ap_open.py b/tests/hwsim/test_ap_open.py index e31010fc3..fdaea854c 100644 --- a/tests/hwsim/test_ap_open.py +++ b/tests/hwsim/test_ap_open.py @@ -17,7 +17,7 @@ def test_ap_open(dev, apdev): """AP with open mode (no security) configuration""" hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "open" }) dev[0].connect("open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) ev = hapd.wait_event([ "AP-STA-CONNECTED" ], timeout=5) if ev is None: raise Exception("No connection event received from hostapd") diff --git a/tests/hwsim/test_ap_params.py b/tests/hwsim/test_ap_params.py index 9a22596aa..4719eb37d 100644 --- a/tests/hwsim/test_ap_params.py +++ b/tests/hwsim/test_ap_params.py @@ -18,9 +18,9 @@ def test_ap_fragmentation_rts_set_high(dev, apdev): params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params['rts_threshold'] = "1000" params['fragm_threshold'] = "2000" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_fragmentation_open(dev, apdev): """Open AP with fragmentation threshold""" @@ -28,9 +28,9 @@ def test_ap_fragmentation_open(dev, apdev): params = {} params['ssid'] = ssid params['fragm_threshold'] = "1000" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_fragmentation_wpa2(dev, apdev): """WPA2-PSK AP with fragmentation threshold""" @@ -38,9 +38,9 @@ def test_ap_fragmentation_wpa2(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params['fragm_threshold'] = "1000" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_vendor_elements(dev, apdev): """WPA2-PSK AP with vendor elements added""" @@ -66,9 +66,9 @@ def test_ap_country(dev, apdev): params['ieee80211d'] = '1' params['hw_mode'] = 'a' params['channel'] = '36' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="5180") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: subprocess.call(['sudo', 'iw', 'reg', 'set', '00']) @@ -123,7 +123,7 @@ def test_ap_wds_sta(dev, apdev): subprocess.call(['sudo', 'ip', 'link', 'set', 'dev', 'wds-br0', 'up']) subprocess.call(['sudo', 'iw', dev[0].ifname, 'set', '4addr', 'on']) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, "wds-br0", max_tries=15) + hwsim_utils.test_connectivity_iface(dev[0], "wds-br0", max_tries=15) finally: subprocess.call(['sudo', 'iw', dev[0].ifname, 'set', '4addr', 'off']) subprocess.call(['sudo', 'ip', 'link', 'set', 'dev', 'wds-br0', 'down']) @@ -241,6 +241,6 @@ def test_ap_tx_queue_params(dev, apdev): params['tx_queue_data1_cwmin'] = "7" params['tx_queue_data1_cwmax'] = "1023" params['tx_queue_data1_burst'] = "2" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) diff --git a/tests/hwsim/test_ap_pmf.py b/tests/hwsim/test_ap_pmf.py index 8a0062ea3..ad6272c7e 100644 --- a/tests/hwsim/test_ap_pmf.py +++ b/tests/hwsim/test_ap_pmf.py @@ -33,11 +33,11 @@ def test_ap_pmf_required(dev, apdev): scan_freq="2412") if "[WPA2-PSK-SHA256-CCMP]" not in dev[0].request("SCAN_RESULTS"): raise Exception("Scan results missing RSN element info") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[1].connect(ssid, psk="12345678", ieee80211w="2", key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") - hwsim_utils.test_connectivity(dev[1].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[1], hapd) hapd = hostapd.Hostapd(apdev[0]['ifname']) hapd.request("SA_QUERY " + dev[0].p2p_interface_addr()) hapd.request("SA_QUERY " + dev[1].p2p_interface_addr()) @@ -61,15 +61,15 @@ def test_ap_pmf_optional(dev, apdev): params = hostapd.wpa2_params(ssid=ssid, passphrase="12345678") params["wpa_key_mgmt"] = "WPA-PSK"; params["ieee80211w"] = "1"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk="12345678", ieee80211w="1", key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[1].connect(ssid, psk="12345678", ieee80211w="2", key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") - hwsim_utils.test_connectivity(dev[1].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[1], hapd) wt.require_ap_pmf_optional(apdev[0]['bssid']) wt.require_sta_pmf(apdev[0]['bssid'], dev[0].p2p_interface_addr()) wt.require_sta_pmf_mandatory(apdev[0]['bssid'], dev[1].p2p_interface_addr()) @@ -83,15 +83,15 @@ def test_ap_pmf_optional_2akm(dev, apdev): params = hostapd.wpa2_params(ssid=ssid, passphrase="12345678") params["wpa_key_mgmt"] = "WPA-PSK WPA-PSK-SHA256"; params["ieee80211w"] = "1"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk="12345678", ieee80211w="1", key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[1].connect(ssid, psk="12345678", ieee80211w="2", key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") - hwsim_utils.test_connectivity(dev[1].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[1], hapd) wt.require_ap_pmf_optional(apdev[0]['bssid']) wt.require_sta_pmf(apdev[0]['bssid'], dev[0].p2p_interface_addr()) wt.require_sta_key_mgmt(apdev[0]['bssid'], dev[0].p2p_interface_addr(), @@ -107,16 +107,16 @@ def test_ap_pmf_negative(dev, apdev): wt.flush() wt.add_passphrase("12345678") params = hostapd.wpa2_params(ssid=ssid, passphrase="12345678") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk="12345678", ieee80211w="1", key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) try: dev[1].connect(ssid, psk="12345678", ieee80211w="2", key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") - hwsim_utils.test_connectivity(dev[1].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[1], hapd) raise Exception("PMF required STA connected to no PMF AP") except Exception, e: logger.debug("Ignore expected exception: " + str(e)) diff --git a/tests/hwsim/test_ap_psk.py b/tests/hwsim/test_ap_psk.py index 0cffbae67..cef82ff1e 100644 --- a/tests/hwsim/test_ap_psk.py +++ b/tests/hwsim/test_ap_psk.py @@ -65,12 +65,12 @@ def test_ap_wpa2_ptk_rekey(dev, apdev): ssid = "test-wpa2-psk" passphrase = 'qwertyuiop' params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, wpa_ptk_rekey="1", scan_freq="2412") ev = dev[0].wait_event(["WPA: Key negotiation completed"]) if ev is None: raise Exception("PTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa2_ptk_rekey_ap(dev, apdev): """WPA2-PSK AP and PTK rekey enforced by AP""" @@ -78,12 +78,12 @@ def test_ap_wpa2_ptk_rekey_ap(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params['wpa_ptk_rekey'] = '2' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") ev = dev[0].wait_event(["WPA: Key negotiation completed"]) if ev is None: raise Exception("PTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa2_sha256_ptk_rekey(dev, apdev): """WPA2-PSK/SHA256 AKM AP and PTK rekey enforced by station""" @@ -91,13 +91,13 @@ def test_ap_wpa2_sha256_ptk_rekey(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params["wpa_key_mgmt"] = "WPA-PSK-SHA256" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, key_mgmt="WPA-PSK-SHA256", wpa_ptk_rekey="1", scan_freq="2412") ev = dev[0].wait_event(["WPA: Key negotiation completed"]) if ev is None: raise Exception("PTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-0f-ac-6"), ("dot11RSNAAuthenticationSuiteSelected", "00-0f-ac-6") ]) @@ -108,13 +108,13 @@ def test_ap_wpa2_sha256_ptk_rekey_ap(dev, apdev): params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params["wpa_key_mgmt"] = "WPA-PSK-SHA256" params['wpa_ptk_rekey'] = '2' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, key_mgmt="WPA-PSK-SHA256", scan_freq="2412") ev = dev[0].wait_event(["WPA: Key negotiation completed"]) if ev is None: raise Exception("PTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) check_mib(dev[0], [ ("dot11RSNAAuthenticationSuiteRequested", "00-0f-ac-6"), ("dot11RSNAAuthenticationSuiteSelected", "00-0f-ac-6") ]) @@ -123,14 +123,14 @@ def test_ap_wpa_ptk_rekey(dev, apdev): ssid = "test-wpa-psk" passphrase = 'qwertyuiop' params = hostapd.wpa_params(ssid=ssid, passphrase=passphrase) - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, wpa_ptk_rekey="1", scan_freq="2412") if "[WPA-PSK-TKIP]" not in dev[0].request("SCAN_RESULTS"): raise Exception("Scan results missing WPA element info") ev = dev[0].wait_event(["WPA: Key negotiation completed"]) if ev is None: raise Exception("PTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa_ptk_rekey_ap(dev, apdev): """WPA-PSK/TKIP AP and PTK rekey enforced by AP""" @@ -138,12 +138,12 @@ def test_ap_wpa_ptk_rekey_ap(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa_params(ssid=ssid, passphrase=passphrase) params['wpa_ptk_rekey'] = '2' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") ev = dev[0].wait_event(["WPA: Key negotiation completed"], timeout=10) if ev is None: raise Exception("PTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa_ccmp(dev, apdev): """WPA-PSK/CCMP""" @@ -151,9 +151,9 @@ def test_ap_wpa_ccmp(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa_params(ssid=ssid, passphrase=passphrase) params['wpa_pairwise'] = "CCMP" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) check_mib(dev[0], [ ("dot11RSNAConfigGroupCipherSize", "128"), ("dot11RSNAGroupCipherRequested", "00-50-f2-4"), ("dot11RSNAPairwiseCipherRequested", "00-50-f2-4"), @@ -243,12 +243,12 @@ def test_ap_wpa2_gtk_rekey(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params['wpa_group_rekey'] = '1' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2) if ev is None: raise Exception("GTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa_gtk_rekey(dev, apdev): """WPA-PSK/TKIP AP and GTK rekey enforced by AP""" @@ -256,12 +256,12 @@ def test_ap_wpa_gtk_rekey(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa_params(ssid=ssid, passphrase=passphrase) params['wpa_group_rekey'] = '1' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2) if ev is None: raise Exception("GTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa2_gmk_rekey(dev, apdev): """WPA2-PSK AP and GMK and GTK rekey enforced by AP""" @@ -270,13 +270,13 @@ def test_ap_wpa2_gmk_rekey(dev, apdev): params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params['wpa_group_rekey'] = '1' params['wpa_gmk_rekey'] = '2' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") for i in range(0, 3): ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2) if ev is None: raise Exception("GTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa2_strict_rekey(dev, apdev): """WPA2-PSK AP and strict GTK rekey enforced by AP""" @@ -284,14 +284,14 @@ def test_ap_wpa2_strict_rekey(dev, apdev): passphrase = 'qwertyuiop' params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase) params['wpa_strict_rekey'] = '1' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, psk=passphrase, scan_freq="2412") dev[1].connect(ssid, psk=passphrase, scan_freq="2412") dev[1].request("DISCONNECT") ev = dev[0].wait_event(["WPA: Group rekeying completed"], timeout=2) if ev is None: raise Exception("GTK rekey timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_wpa2_bridge_fdb(dev, apdev): """Bridge FDB entry removal""" diff --git a/tests/hwsim/test_ap_qosmap.py b/tests/hwsim/test_ap_qosmap.py index fa98b209e..b0dfef319 100644 --- a/tests/hwsim/test_ap_qosmap.py +++ b/tests/hwsim/test_ap_qosmap.py @@ -13,14 +13,14 @@ import hwsim_utils import hostapd from wlantest import Wlantest -def check_qos_map(ap, dev, dscp, tid, ap_tid=None): +def check_qos_map(ap, hapd, dev, dscp, tid, ap_tid=None): if not ap_tid: ap_tid = tid bssid = ap['bssid'] sta = dev.p2p_interface_addr() wt = Wlantest() wt.clear_sta_counters(bssid, sta) - hwsim_utils.test_connectivity(dev.ifname, ap['ifname'], dscp=dscp) + hwsim_utils.test_connectivity(dev, hapd, dscp=dscp) time.sleep(0.02) [ tx, rx ] = wt.get_tid_counters(bssid, sta) if tx[tid] == 0: @@ -38,41 +38,40 @@ def test_ap_qosmap(dev, apdev): ssid = "test-qosmap" params = { "ssid": ssid } params['qos_map_set'] = '53,2,22,6,8,15,0,7,255,255,16,31,32,39,255,255,40,47,48,55' - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412") time.sleep(0.1) - check_qos_map(apdev[0], dev[0], 53, 2) - check_qos_map(apdev[0], dev[0], 22, 6) - check_qos_map(apdev[0], dev[0], 8, 0) - check_qos_map(apdev[0], dev[0], 15, 0) - check_qos_map(apdev[0], dev[0], 0, 1) - check_qos_map(apdev[0], dev[0], 7, 1) - check_qos_map(apdev[0], dev[0], 16, 3) - check_qos_map(apdev[0], dev[0], 31, 3) - check_qos_map(apdev[0], dev[0], 32, 4) - check_qos_map(apdev[0], dev[0], 39, 4) - check_qos_map(apdev[0], dev[0], 40, 6) - check_qos_map(apdev[0], dev[0], 47, 6) - check_qos_map(apdev[0], dev[0], 48, 7) - check_qos_map(apdev[0], dev[0], 55, 7) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + check_qos_map(apdev[0], hapd, dev[0], 53, 2) + check_qos_map(apdev[0], hapd, dev[0], 22, 6) + check_qos_map(apdev[0], hapd, dev[0], 8, 0) + check_qos_map(apdev[0], hapd, dev[0], 15, 0) + check_qos_map(apdev[0], hapd, dev[0], 0, 1) + check_qos_map(apdev[0], hapd, dev[0], 7, 1) + check_qos_map(apdev[0], hapd, dev[0], 16, 3) + check_qos_map(apdev[0], hapd, dev[0], 31, 3) + check_qos_map(apdev[0], hapd, dev[0], 32, 4) + check_qos_map(apdev[0], hapd, dev[0], 39, 4) + check_qos_map(apdev[0], hapd, dev[0], 40, 6) + check_qos_map(apdev[0], hapd, dev[0], 47, 6) + check_qos_map(apdev[0], hapd, dev[0], 48, 7) + check_qos_map(apdev[0], hapd, dev[0], 55, 7) hapd.request("SET_QOS_MAP_SET 22,6,8,15,0,7,255,255,16,31,32,39,255,255,40,47,48,55") hapd.request("SEND_QOS_MAP_CONF " + dev[0].get_status_field("address")) - check_qos_map(apdev[0], dev[0], 53, 7) - check_qos_map(apdev[0], dev[0], 22, 6) - check_qos_map(apdev[0], dev[0], 48, 7) - check_qos_map(apdev[0], dev[0], 55, 7) - check_qos_map(apdev[0], dev[0], 56, 56 >> 3) - check_qos_map(apdev[0], dev[0], 63, 63 >> 3) + check_qos_map(apdev[0], hapd, dev[0], 53, 7) + check_qos_map(apdev[0], hapd, dev[0], 22, 6) + check_qos_map(apdev[0], hapd, dev[0], 48, 7) + check_qos_map(apdev[0], hapd, dev[0], 55, 7) + check_qos_map(apdev[0], hapd, dev[0], 56, 56 >> 3) + check_qos_map(apdev[0], hapd, dev[0], 63, 63 >> 3) def test_ap_qosmap_default(dev, apdev): """QoS mapping with default values""" ssid = "test-qosmap-default" params = { "ssid": ssid } - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412") for dscp in [ 0, 7, 8, 15, 16, 23, 24, 31, 32, 39, 40, 47, 48, 55, 56, 63]: - check_qos_map(apdev[0], dev[0], dscp, dscp >> 3) + check_qos_map(apdev[0], hapd, dev[0], dscp, dscp >> 3) def test_ap_qosmap_default_acm(dev, apdev): """QoS mapping with default values and ACM=1 for VO/VI""" @@ -98,7 +97,7 @@ def test_ap_qosmap_default_acm(dev, apdev): "wmm_ac_vo_cwmax": "2", "wmm_ac_vo_txop_limit": "47", "wmm_ac_vo_acm": "1" } - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412") for dscp in [ 0, 7, 8, 15, 16, 23, 24, 31, 32, 39, 40, 47, 48, 55, 56, 63]: ap_tid = dscp >> 3 @@ -106,7 +105,7 @@ def test_ap_qosmap_default_acm(dev, apdev): # downgrade VI/VO to BE if tid in [ 4, 5, 6, 7 ]: tid = 3 - check_qos_map(apdev[0], dev[0], dscp, tid, ap_tid) + check_qos_map(apdev[0], hapd, dev[0], dscp, tid, ap_tid) def test_ap_qosmap_invalid(dev, apdev): """QoS mapping ctrl_iface error handling""" diff --git a/tests/hwsim/test_ap_roam.py b/tests/hwsim/test_ap_roam.py index b22ffa477..445e34bb6 100644 --- a/tests/hwsim/test_ap_roam.py +++ b/tests/hwsim/test_ap_roam.py @@ -14,45 +14,45 @@ import hostapd def test_ap_roam_open(dev, apdev): """Roam between two open APs""" - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) - hostapd.add_ap(apdev[1]['ifname'], { "ssid": "test-open" }) + hwsim_utils.test_connectivity(dev[0], hapd0) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], { "ssid": "test-open" }) dev[0].scan(type="ONLY") dev[0].roam(apdev[1]['bssid']) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[1]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd1) dev[0].roam(apdev[0]['bssid']) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd0) def test_ap_roam_wpa2_psk(dev, apdev): """Roam between two WPA2-PSK APs""" params = hostapd.wpa2_params(ssid="test-wpa2-psk", passphrase="12345678") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("test-wpa2-psk", psk="12345678") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) - hostapd.add_ap(apdev[1]['ifname'], params) + hwsim_utils.test_connectivity(dev[0], hapd0) + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) dev[0].scan(type="ONLY") dev[0].roam(apdev[1]['bssid']) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[1]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd1) dev[0].roam(apdev[0]['bssid']) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd0) def test_ap_reassociation_to_same_bss(dev, apdev): """Reassociate to the same BSS""" - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE") dev[0].request("REASSOCIATE") ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=10) if ev is None: raise Exception("Reassociation with the AP timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[0].request("REATTACH") ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=10) if ev is None: raise Exception("Reassociation (reattach) with the AP timed out") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ap_roam_set_bssid(dev, apdev): """Roam control""" diff --git a/tests/hwsim/test_ap_tdls.py b/tests/hwsim/test_ap_tdls.py index 8c0f9f01c..6ea19d2f7 100644 --- a/tests/hwsim/test_ap_tdls.py +++ b/tests/hwsim/test_ap_tdls.py @@ -17,42 +17,42 @@ from wlantest import Wlantest def start_ap_wpa2_psk(ifname): params = hostapd.wpa2_params(ssid="test-wpa2-psk", passphrase="12345678") - hostapd.add_ap(ifname, params) + return hostapd.add_ap(ifname, params) -def connectivity(dev, ap_ifname): +def connectivity(dev, hapd): hwsim_utils.test_connectivity_sta(dev[0], dev[1]) - hwsim_utils.test_connectivity(dev[0].ifname, ap_ifname) - hwsim_utils.test_connectivity(dev[1].ifname, ap_ifname) + hwsim_utils.test_connectivity(dev[0], hapd) + hwsim_utils.test_connectivity(dev[1], hapd) -def connect_2sta(dev, ssid, ap_ifname): +def connect_2sta(dev, ssid, hapd): dev[0].connect(ssid, psk="12345678", scan_freq="2412") dev[1].connect(ssid, psk="12345678", scan_freq="2412") - connectivity(dev, ap_ifname) + connectivity(dev, hapd) -def connect_2sta_wpa2_psk(dev, ap_ifname): - connect_2sta(dev, "test-wpa2-psk", ap_ifname) +def connect_2sta_wpa2_psk(dev, hapd): + connect_2sta(dev, "test-wpa2-psk", hapd) -def connect_2sta_wpa_psk(dev, ap_ifname): - connect_2sta(dev, "test-wpa-psk", ap_ifname) +def connect_2sta_wpa_psk(dev, hapd): + connect_2sta(dev, "test-wpa-psk", hapd) -def connect_2sta_wpa_psk_mixed(dev, ap_ifname): +def connect_2sta_wpa_psk_mixed(dev, hapd): dev[0].connect("test-wpa-mixed-psk", psk="12345678", proto="WPA", scan_freq="2412") dev[1].connect("test-wpa-mixed-psk", psk="12345678", proto="WPA2", scan_freq="2412") - connectivity(dev, ap_ifname) + connectivity(dev, hapd) -def connect_2sta_wep(dev, ap_ifname): +def connect_2sta_wep(dev, hapd): dev[0].connect("test-wep", key_mgmt="NONE", wep_key0='"hello"', scan_freq="2412") dev[1].connect("test-wep", key_mgmt="NONE", wep_key0='"hello"', scan_freq="2412") - connectivity(dev, ap_ifname) + connectivity(dev, hapd) -def connect_2sta_open(dev, ap_ifname): +def connect_2sta_open(dev, hapd): dev[0].connect("test-open", key_mgmt="NONE", scan_freq="2412") dev[1].connect("test-open", key_mgmt="NONE", scan_freq="2412") - connectivity(dev, ap_ifname) + connectivity(dev, hapd) def wlantest_setup(): wt = Wlantest() @@ -96,14 +96,15 @@ def tdls_check_ap(sta0, sta1, bssid, addr0, addr1): if inv_ap > 0: raise Exception("Invalid frames through AP path") -def check_connectivity(sta0, sta1, ap): +def check_connectivity(sta0, sta1, hapd): hwsim_utils.test_connectivity_sta(sta0, sta1) - hwsim_utils.test_connectivity(sta0.ifname, ap['ifname']) - hwsim_utils.test_connectivity(sta1.ifname, ap['ifname']) + hwsim_utils.test_connectivity(sta0, hapd) + hwsim_utils.test_connectivity(sta1, hapd) def setup_tdls(sta0, sta1, ap, reverse=False, expect_fail=False): logger.info("Setup TDLS") - check_connectivity(sta0, sta1, ap) + hapd = hostapd.Hostapd(ap['ifname']) + check_connectivity(sta0, sta1, hapd) bssid = ap['bssid'] addr0 = sta0.p2p_interface_addr() addr1 = sta1.p2p_interface_addr() @@ -122,11 +123,12 @@ def setup_tdls(sta0, sta1, ap, reverse=False, expect_fail=False): if conf == 0: raise Exception("No TDLS Setup Confirm (success) seen") tdls_check_dl(sta0, sta1, bssid, addr0, addr1) - check_connectivity(sta0, sta1, ap) + check_connectivity(sta0, sta1, hapd) def teardown_tdls(sta0, sta1, ap, responder=False): logger.info("Teardown TDLS") - check_connectivity(sta0, sta1, ap) + hapd = hostapd.Hostapd(ap['ifname']) + check_connectivity(sta0, sta1, hapd) bssid = ap['bssid'] addr0 = sta0.p2p_interface_addr() addr1 = sta1.p2p_interface_addr() @@ -140,21 +142,21 @@ def teardown_tdls(sta0, sta1, ap, responder=False): if teardown == 0: raise Exception("No TDLS Setup Teardown seen") tdls_check_ap(sta0, sta1, bssid, addr0, addr1) - check_connectivity(sta0, sta1, ap) + check_connectivity(sta0, sta1, hapd) def test_ap_tdls_discovery(dev, apdev): """WPA2-PSK AP and two stations using TDLS discovery""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[0].request("TDLS_DISCOVER " + dev[1].p2p_interface_addr()) time.sleep(0.2) def test_ap_wpa2_tdls(dev, apdev): """WPA2-PSK AP and two stations using TDLS""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) setup_tdls(dev[0], dev[1], apdev[0]) teardown_tdls(dev[0], dev[1], apdev[0]) setup_tdls(dev[1], dev[0], apdev[0]) @@ -162,41 +164,41 @@ def test_ap_wpa2_tdls(dev, apdev): def test_ap_wpa2_tdls_concurrent_init(dev, apdev): """Concurrent TDLS setup initiation""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[0].request("SET tdls_testing 0x80") setup_tdls(dev[1], dev[0], apdev[0], reverse=True) def test_ap_wpa2_tdls_concurrent_init2(dev, apdev): """Concurrent TDLS setup initiation (reverse)""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[1].request("SET tdls_testing 0x80") setup_tdls(dev[0], dev[1], apdev[0]) def test_ap_wpa2_tdls_decline_resp(dev, apdev): """Decline TDLS Setup Response""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[1].request("SET tdls_testing 0x200") setup_tdls(dev[1], dev[0], apdev[0], expect_fail=True) def test_ap_wpa2_tdls_long_lifetime(dev, apdev): """TDLS with long TPK lifetime""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[1].request("SET tdls_testing 0x40") setup_tdls(dev[1], dev[0], apdev[0]) def test_ap_wpa2_tdls_long_frame(dev, apdev): """TDLS with long setup/teardown frames""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[0].request("SET tdls_testing 0x1") dev[1].request("SET tdls_testing 0x1") setup_tdls(dev[1], dev[0], apdev[0]) @@ -205,34 +207,34 @@ def test_ap_wpa2_tdls_long_frame(dev, apdev): def test_ap_wpa2_tdls_reneg(dev, apdev): """Renegotiate TDLS link""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) setup_tdls(dev[1], dev[0], apdev[0]) setup_tdls(dev[0], dev[1], apdev[0]) def test_ap_wpa2_tdls_wrong_lifetime_resp(dev, apdev): """Incorrect TPK lifetime in TDLS Setup Response""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[1].request("SET tdls_testing 0x10") setup_tdls(dev[0], dev[1], apdev[0], expect_fail=True) def test_ap_wpa2_tdls_diff_rsnie(dev, apdev): """TDLS with different RSN IEs""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[1].request("SET tdls_testing 0x2") setup_tdls(dev[1], dev[0], apdev[0]) teardown_tdls(dev[1], dev[0], apdev[0]) def test_ap_wpa2_tdls_wrong_tpk_m2_mic(dev, apdev): """Incorrect MIC in TDLS Setup Response""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[0].request("SET tdls_testing 0x800") addr0 = dev[0].p2p_interface_addr() dev[1].tdls_setup(addr0) @@ -240,9 +242,9 @@ def test_ap_wpa2_tdls_wrong_tpk_m2_mic(dev, apdev): def test_ap_wpa2_tdls_wrong_tpk_m3_mic(dev, apdev): """Incorrect MIC in TDLS Setup Confirm""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) dev[1].request("SET tdls_testing 0x800") addr0 = dev[0].p2p_interface_addr() dev[1].tdls_setup(addr0) @@ -250,41 +252,41 @@ def test_ap_wpa2_tdls_wrong_tpk_m3_mic(dev, apdev): def test_ap_wpa_tdls(dev, apdev): """WPA-PSK AP and two stations using TDLS""" - hostapd.add_ap(apdev[0]['ifname'], - hostapd.wpa_params(ssid="test-wpa-psk", - passphrase="12345678")) + hapd = hostapd.add_ap(apdev[0]['ifname'], + hostapd.wpa_params(ssid="test-wpa-psk", + passphrase="12345678")) wlantest_setup() - connect_2sta_wpa_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa_psk(dev, hapd) setup_tdls(dev[0], dev[1], apdev[0]) teardown_tdls(dev[0], dev[1], apdev[0]) setup_tdls(dev[1], dev[0], apdev[0]) def test_ap_wpa_mixed_tdls(dev, apdev): """WPA+WPA2-PSK AP and two stations using TDLS""" - hostapd.add_ap(apdev[0]['ifname'], - hostapd.wpa_mixed_params(ssid="test-wpa-mixed-psk", - passphrase="12345678")) + hapd = hostapd.add_ap(apdev[0]['ifname'], + hostapd.wpa_mixed_params(ssid="test-wpa-mixed-psk", + passphrase="12345678")) wlantest_setup() - connect_2sta_wpa_psk_mixed(dev, apdev[0]['ifname']) + connect_2sta_wpa_psk_mixed(dev, hapd) setup_tdls(dev[0], dev[1], apdev[0]) teardown_tdls(dev[0], dev[1], apdev[0]) setup_tdls(dev[1], dev[0], apdev[0]) def test_ap_wep_tdls(dev, apdev): """WEP AP and two stations using TDLS""" - hostapd.add_ap(apdev[0]['ifname'], - { "ssid": "test-wep", "wep_key0": '"hello"' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], + { "ssid": "test-wep", "wep_key0": '"hello"' }) wlantest_setup() - connect_2sta_wep(dev, apdev[0]['ifname']) + connect_2sta_wep(dev, hapd) setup_tdls(dev[0], dev[1], apdev[0]) teardown_tdls(dev[0], dev[1], apdev[0]) setup_tdls(dev[1], dev[0], apdev[0]) def test_ap_open_tdls(dev, apdev): """Open AP and two stations using TDLS""" - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) wlantest_setup() - connect_2sta_open(dev, apdev[0]['ifname']) + connect_2sta_open(dev, hapd) setup_tdls(dev[0], dev[1], apdev[0]) teardown_tdls(dev[0], dev[1], apdev[0]) setup_tdls(dev[1], dev[0], apdev[0]) @@ -305,7 +307,10 @@ def test_ap_wpa2_tdls_bssid_mismatch(dev, apdev): bssid=apdev[0]['bssid']) dev[1].connect(ssid, psk=passphrase, scan_freq="2412", bssid=apdev[1]['bssid']) - connectivity(dev, "ap-br0") + hwsim_utils.test_connectivity_sta(dev[0], dev[1]) + hwsim_utils.test_connectivity_iface(dev[0], "ap-br0") + hwsim_utils.test_connectivity_iface(dev[1], "ap-br0") + addr0 = dev[0].p2p_interface_addr() dev[1].tdls_setup(addr0) time.sleep(1) @@ -316,8 +321,8 @@ def test_ap_wpa2_tdls_bssid_mismatch(dev, apdev): def test_ap_wpa2_tdls_responder_teardown(dev, apdev): """TDLS teardown from responder with WPA2-PSK AP""" - start_ap_wpa2_psk(apdev[0]['ifname']) + hapd = start_ap_wpa2_psk(apdev[0]['ifname']) wlantest_setup() - connect_2sta_wpa2_psk(dev, apdev[0]['ifname']) + connect_2sta_wpa2_psk(dev, hapd) setup_tdls(dev[0], dev[1], apdev[0]) teardown_tdls(dev[0], dev[1], apdev[0], responder=True) diff --git a/tests/hwsim/test_ap_vht.py b/tests/hwsim/test_ap_vht.py index 1577a91b6..9e6f148c3 100644 --- a/tests/hwsim/test_ap_vht.py +++ b/tests/hwsim/test_ap_vht.py @@ -36,7 +36,7 @@ def test_ap_vht80(dev, apdev): hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("vht", key_mgmt="NONE", scan_freq="5180") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) except Exception, e: if isinstance(e, Exception) and str(e) == "AP startup failed": if not vht_supported(): @@ -71,7 +71,7 @@ def test_ap_vht80_params(dev, apdev): if "status_code=104" not in ev: raise Exception("Unexpected rejection status code") dev[1].request("DISCONNECT") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) except Exception, e: if isinstance(e, Exception) and str(e) == "AP startup failed": if not vht_supported(): @@ -98,9 +98,9 @@ def test_ap_vht_20(devs, apdevs): "supported_rates": "60 120 240 360 480 540", "require_vht": "1", } - hostapd.add_ap(ap['ifname'], params) + hapd = hostapd.add_ap(ap['ifname'], params) dev.connect("test-vht20", scan_freq="5180", key_mgmt="NONE") - hwsim_utils.test_connectivity(dev.ifname, ap['ifname']) + hwsim_utils.test_connectivity(dev, hapd) finally: subprocess.call(['sudo', 'iw', 'reg', 'set', '00']) @@ -213,9 +213,9 @@ def test_ap_vht160(dev, apdev): raise Exception("Unexpected frequency(2)") dev[0].connect("vht", key_mgmt="NONE", scan_freq="5180") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[1].connect("vht2", key_mgmt="NONE", scan_freq="5500") - hwsim_utils.test_connectivity(dev[1].ifname, apdev[1]['ifname']) + hwsim_utils.test_connectivity(dev[1], hapd2) except Exception, e: if isinstance(e, Exception) and str(e) == "AP startup failed": if not vht_supported(): @@ -266,7 +266,7 @@ def test_ap_vht80plus80(dev, apdev): raise Exception("Unexpected interface state(2)") dev[1].connect("vht2", key_mgmt="NONE", scan_freq="5180") - hwsim_utils.test_connectivity(dev[1].ifname, apdev[1]['ifname']) + hwsim_utils.test_connectivity(dev[1], hapd2) except Exception, e: if isinstance(e, Exception) and str(e) == "AP startup failed": if not vht_supported(): diff --git a/tests/hwsim/test_ap_vlan.py b/tests/hwsim/test_ap_vlan.py index 08534a1b7..84c8a9f0a 100644 --- a/tests/hwsim/test_ap_vlan.py +++ b/tests/hwsim/test_ap_vlan.py @@ -19,14 +19,14 @@ def test_ap_vlan_open(dev, apdev): params = { "ssid": "test-vlan-open", "dynamic_vlan": "1", "accept_mac_file": "hostapd.accept" } - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") dev[1].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") dev[2].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, "brvlan1") - hwsim_utils.test_connectivity(dev[1].ifname, "brvlan2") - hwsim_utils.test_connectivity(dev[2].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity_iface(dev[0], "brvlan1") + hwsim_utils.test_connectivity_iface(dev[1], "brvlan2") + hwsim_utils.test_connectivity(dev[2], hapd) def test_ap_vlan_file_open(dev, apdev): """AP VLAN with open network and vlan_file mapping""" @@ -34,14 +34,14 @@ def test_ap_vlan_file_open(dev, apdev): "dynamic_vlan": "1", "vlan_file": "hostapd.vlan", "accept_mac_file": "hostapd.accept" } - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") dev[1].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") dev[2].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, "brvlan1") - hwsim_utils.test_connectivity(dev[1].ifname, "brvlan2") - hwsim_utils.test_connectivity(dev[2].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity_iface(dev[0], "brvlan1") + hwsim_utils.test_connectivity_iface(dev[1], "brvlan2") + hwsim_utils.test_connectivity(dev[2], hapd) def test_ap_vlan_wpa2(dev, apdev): """AP VLAN with WPA2-PSK""" @@ -49,20 +49,20 @@ def test_ap_vlan_wpa2(dev, apdev): passphrase="12345678") params['dynamic_vlan'] = "1"; params['accept_mac_file'] = "hostapd.accept"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("test-vlan", psk="12345678", scan_freq="2412") dev[1].connect("test-vlan", psk="12345678", scan_freq="2412") dev[2].connect("test-vlan", psk="12345678", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, "brvlan1") - hwsim_utils.test_connectivity(dev[1].ifname, "brvlan2") - hwsim_utils.test_connectivity(dev[2].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity_iface(dev[0], "brvlan1") + hwsim_utils.test_connectivity_iface(dev[1], "brvlan2") + hwsim_utils.test_connectivity(dev[2], hapd) def test_ap_vlan_wpa2_radius(dev, apdev): """AP VLAN with WPA2-Enterprise and RADIUS attributes""" params = hostapd.wpa2_eap_params(ssid="test-vlan") params['dynamic_vlan'] = "1"; - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX", identity="vlan1", @@ -76,9 +76,9 @@ def test_ap_vlan_wpa2_radius(dev, apdev): identity="pax.user@example.com", password_hex="0123456789abcdef0123456789abcdef", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, "brvlan1") - hwsim_utils.test_connectivity(dev[1].ifname, "brvlan2") - hwsim_utils.test_connectivity(dev[2].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity_iface(dev[0], "brvlan1") + hwsim_utils.test_connectivity_iface(dev[1], "brvlan2") + hwsim_utils.test_connectivity(dev[2], hapd) def test_ap_vlan_wpa2_radius_required(dev, apdev): """AP VLAN with WPA2-Enterprise and RADIUS attributes required""" @@ -107,11 +107,11 @@ def test_ap_vlan_tagged(dev, apdev): "dynamic_vlan": "1", "vlan_tagged_interface": "lo", "accept_mac_file": "hostapd.accept" } - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") dev[1].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") dev[2].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, "brlo.1") - hwsim_utils.test_connectivity(dev[1].ifname, "brlo.2") - hwsim_utils.test_connectivity(dev[2].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity_iface(dev[0], "brlo.1") + hwsim_utils.test_connectivity_iface(dev[1], "brlo.2") + hwsim_utils.test_connectivity(dev[2], hapd) diff --git a/tests/hwsim/test_connect_cmd.py b/tests/hwsim/test_connect_cmd.py index d06151a3e..fb57334a9 100644 --- a/tests/hwsim/test_connect_cmd.py +++ b/tests/hwsim/test_connect_cmd.py @@ -52,7 +52,7 @@ def test_connect_cmd_wpa2_psk(dev, apdev): def test_connect_cmd_concurrent_grpform_while_connecting(dev, apdev): """Concurrent P2P group formation while connecting to an AP using cfg80211 connect command""" logger.info("Start connection to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5') wpas.interface_add("wlan5", drv_params="force_connect_cmd=1") @@ -67,7 +67,7 @@ def test_connect_cmd_concurrent_grpform_while_connecting(dev, apdev): remove_group(dev[0], wpas) logger.info("Confirm AP connection after P2P group removal") - hwsim_utils.test_connectivity(wpas.ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(wpas, hapd) def test_connect_cmd_reject_assoc(dev, apdev): """Connection using cfg80211 connect command getting rejected""" diff --git a/tests/hwsim/test_dfs.py b/tests/hwsim/test_dfs.py index adbfddb2d..2611f088b 100644 --- a/tests/hwsim/test_dfs.py +++ b/tests/hwsim/test_dfs.py @@ -83,7 +83,7 @@ def test_dfs(dev, apdev): raise Exception("Unexpected frequency") dev[0].connect("dfs", key_mgmt="NONE") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) hapd.request("RADAR DETECTED freq=5260 ht_enabled=1 chan_width=1") ev = hapd.wait_event(["DFS-RADAR-DETECTED"], timeout=10) @@ -103,7 +103,7 @@ def test_dfs(dev, apdev): if "freq=5260" in ev: raise Exception("Channel did not change after radar was detected(2)"); time.sleep(1) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: subprocess.call(['sudo', 'iw', 'reg', 'set', '00']) diff --git a/tests/hwsim/test_ibss.py b/tests/hwsim/test_ibss.py index 16c61d1e4..cc767073d 100644 --- a/tests/hwsim/test_ibss.py +++ b/tests/hwsim/test_ibss.py @@ -110,9 +110,9 @@ def test_ibss_rsn(dev): # Allow some time for all peers to complete key setup time.sleep(3) - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) - hwsim_utils.test_connectivity(dev[0].ifname, dev[2].ifname) - hwsim_utils.test_connectivity(dev[1].ifname, dev[2].ifname) + hwsim_utils.test_connectivity(dev[0], dev[1]) + hwsim_utils.test_connectivity(dev[0], dev[2]) + hwsim_utils.test_connectivity(dev[1], dev[2]) dev[1].request("REMOVE_NETWORK all") time.sleep(1) @@ -126,7 +126,7 @@ def test_ibss_rsn(dev): wait_4way_handshake(dev[0], dev[1]) wait_4way_handshake(dev[1], dev[0]) time.sleep(3) - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) + hwsim_utils.test_connectivity(dev[0], dev[1]) def test_ibss_wpa_none(dev): """IBSS WPA-None""" @@ -172,15 +172,15 @@ def test_ibss_wpa_none(dev): # This is supposed to work, but looks like WPA-None does not work with # mac80211 currently.. try: - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) + hwsim_utils.test_connectivity(dev[0], dev[1]) except Exception, e: logger.info("Ignoring known connectivity failure: " + str(e)) try: - hwsim_utils.test_connectivity(dev[0].ifname, dev[2].ifname) + hwsim_utils.test_connectivity(dev[0], dev[2]) except Exception, e: logger.info("Ignoring known connectivity failure: " + str(e)) try: - hwsim_utils.test_connectivity(dev[1].ifname, dev[2].ifname) + hwsim_utils.test_connectivity(dev[1], dev[2]) except Exception, e: logger.info("Ignoring known connectivity failure: " + str(e)) @@ -220,7 +220,7 @@ def test_ibss_wpa_none_ccmp(dev): # This is supposed to work, but looks like WPA-None does not work with # mac80211 currently.. try: - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) + hwsim_utils.test_connectivity(dev[0], dev[1]) except Exception, e: logger.info("Ignoring known connectivity failure: " + str(e)) diff --git a/tests/hwsim/test_ieee8021x.py b/tests/hwsim/test_ieee8021x.py index eef2bb9af..a64cbdb8f 100644 --- a/tests/hwsim/test_ieee8021x.py +++ b/tests/hwsim/test_ieee8021x.py @@ -19,12 +19,12 @@ def test_ieee8021x_wep104(dev, apdev): params["ieee8021x"] = "1" params["wep_key_len_broadcast"] = "13" params["wep_key_len_unicast"] = "13" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("ieee8021x-wep", key_mgmt="IEEE8021X", eap="PSK", identity="psk.user@example.com", password_hex="0123456789abcdef0123456789abcdef") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ieee8021x_wep40(dev, apdev): """IEEE 802.1X connection using dynamic WEP40""" @@ -33,24 +33,24 @@ def test_ieee8021x_wep40(dev, apdev): params["ieee8021x"] = "1" params["wep_key_len_broadcast"] = "5" params["wep_key_len_unicast"] = "5" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) dev[0].connect("ieee8021x-wep", key_mgmt="IEEE8021X", eap="PSK", identity="psk.user@example.com", password_hex="0123456789abcdef0123456789abcdef") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_ieee8021x_open(dev, apdev): """IEEE 802.1X connection using open network""" params = hostapd.radius_params() params["ssid"] = "ieee8021x-open" params["ieee8021x"] = "1" - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) id = dev[0].connect("ieee8021x-open", key_mgmt="IEEE8021X", eapol_flags="0", eap="PSK", identity="psk.user@example.com", password_hex="0123456789abcdef0123456789abcdef") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) logger.info("Test EAPOL-Logoff") dev[0].request("LOGOFF") @@ -62,4 +62,4 @@ def test_ieee8021x_open(dev, apdev): dev[0].request("LOGON") dev[0].connect_network(id) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) diff --git a/tests/hwsim/test_nfc_wps.py b/tests/hwsim/test_nfc_wps.py index 6b30dda9c..e902869ea 100644 --- a/tests/hwsim/test_nfc_wps.py +++ b/tests/hwsim/test_nfc_wps.py @@ -12,7 +12,7 @@ logger = logging.getLogger() import hwsim_utils import hostapd -def check_wpa2_connection(sta, ap, ssid, mixed=False): +def check_wpa2_connection(sta, ap, hapd, ssid, mixed=False): status = sta.get_status() if status['wpa_state'] != 'COMPLETED': raise Exception("Not fully connected") @@ -26,7 +26,7 @@ def check_wpa2_connection(sta, ap, ssid, mixed=False): raise Exception("Unexpected encryption configuration") if status['key_mgmt'] != 'WPA2-PSK': raise Exception("Unexpected key_mgmt") - hwsim_utils.test_connectivity(sta.ifname, ap['ifname']) + hwsim_utils.test_connectivity(sta, hapd) def ap_wps_params(ssid): return { "ssid": ssid, "eap_server": "1", "wps_state": "2", @@ -53,7 +53,7 @@ def test_nfc_wps_password_token_sta(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=30) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid) def test_nfc_wps_config_token(dev, apdev): """NFC tag with configuration token from AP""" @@ -72,7 +72,7 @@ def test_nfc_wps_config_token(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid) def test_nfc_wps_config_token_init(dev, apdev): """NFC tag with configuration token from AP with auto configuration""" @@ -91,7 +91,7 @@ def test_nfc_wps_config_token_init(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid, mixed=True) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid, mixed=True) def test_nfc_wps_password_token_sta_init(dev, apdev): """Initial AP configuration with first WPS NFC Enrollee""" @@ -113,7 +113,7 @@ def test_nfc_wps_password_token_sta_init(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=30) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid, mixed=True) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid, mixed=True) def test_nfc_wps_password_token_ap(dev, apdev): """WPS registrar configuring an AP using AP password token""" @@ -140,7 +140,7 @@ def test_nfc_wps_password_token_ap(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=30) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], new_ssid, mixed=True) + check_wpa2_connection(dev[0], apdev[0], hapd, new_ssid, mixed=True) if "FAIL" in hapd.request("WPS_NFC_TOKEN disable"): raise Exception("Failed to disable AP password token") if "FAIL" in hapd.request("WPS_NFC_TOKEN WPS"): @@ -170,7 +170,7 @@ def test_nfc_wps_handover_init(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid, mixed=True) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid, mixed=True) def test_nfc_wps_handover_errors(dev, apdev): """WPS AP NFC handover report error cases""" @@ -225,7 +225,7 @@ def test_nfc_wps_handover(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=30) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid) def test_nfc_wps_handover_5ghz(dev, apdev): """Connect to WPS AP with NFC connection handover on 5 GHz band""" @@ -253,7 +253,7 @@ def test_nfc_wps_handover_5ghz(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=30) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid) finally: subprocess.call(['sudo', 'iw', 'reg', 'set', '00']) @@ -283,7 +283,7 @@ def test_nfc_wps_handover_chan14(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=30) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid) finally: subprocess.call(['sudo', 'iw', 'reg', 'set', '00']) @@ -317,7 +317,7 @@ def test_nfc_wps_handover_with_pw_token_set(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[0], apdev[0], ssid) + check_wpa2_connection(dev[0], apdev[0], hapd, ssid) def test_nfc_wps_handover_pk_hash_mismatch_sta(dev, apdev): """WPS NFC connection handover with invalid pkhash from station (negative)""" @@ -410,6 +410,7 @@ def test_nfc_wps_er_pw_token(dev, apdev): """WPS NFC password token from Enrollee to ER""" ssid = "wps-nfc-er-pw-token" start_ap_er(dev[0], apdev[0], ssid) + hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("WPS provisioning step using password token from station") dev[1].request("SET ignore_old_scan_res 1") pw = dev[1].request("WPS_NFC_TOKEN NDEF").rstrip() @@ -428,12 +429,13 @@ def test_nfc_wps_er_pw_token(dev, apdev): ev = dev[1].wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[1], apdev[0], ssid) + check_wpa2_connection(dev[1], apdev[0], hapd, ssid) def test_nfc_wps_er_config_token(dev, apdev): """WPS NFC configuration token from ER to Enrollee""" ssid = "wps-nfc-er-config-token" start_ap_er(dev[0], apdev[0], ssid) + hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("WPS provisioning step using configuration token from ER") conf = dev[0].request("WPS_ER_NFC_CONFIG_TOKEN NDEF " + apdev[0]['bssid']).rstrip() if "FAIL" in conf: @@ -445,12 +447,13 @@ def test_nfc_wps_er_config_token(dev, apdev): ev = dev[1].wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[1], apdev[0], ssid) + check_wpa2_connection(dev[1], apdev[0], hapd, ssid) def test_nfc_wps_er_handover(dev, apdev): """WPS NFC connection handover between Enrollee and ER""" ssid = "wps-nfc-er-handover" start_ap_er(dev[0], apdev[0], ssid) + hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("WPS provisioning step using connection handover") req = dev[1].request("NFC_GET_HANDOVER_REQ NDEF WPS-CR").rstrip() if "FAIL" in req: @@ -468,12 +471,13 @@ def test_nfc_wps_er_handover(dev, apdev): ev = dev[1].wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Association with the AP timed out") - check_wpa2_connection(dev[1], apdev[0], ssid) + check_wpa2_connection(dev[1], apdev[0], hapd, ssid) def test_nfc_wps_er_handover_pk_hash_mismatch_sta(dev, apdev): """WPS NFC connection handover with invalid pkhash from station to ER (negative)""" ssid = "wps-nfc-er-handover-pkhash-sta" start_ap_er(dev[0], apdev[0], ssid) + hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("WPS provisioning step using connection handover") if "FAIL" in dev[1].request("SET wps_corrupt_pkhash 1"): raise Exception("Could not enable wps_corrupt_pkhash") @@ -501,6 +505,7 @@ def test_nfc_wps_er_handover_pk_hash_mismatch_er(dev, apdev): """WPS NFC connection handover with invalid pkhash from ER to station (negative)""" ssid = "wps-nfc-er-handover-pkhash-er" start_ap_er(dev[0], apdev[0], ssid) + hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("WPS provisioning step using connection handover") if "FAIL" in dev[0].request("SET wps_corrupt_pkhash 1"): raise Exception("Could not enable wps_corrupt_pkhash") diff --git a/tests/hwsim/test_p2p_channel.py b/tests/hwsim/test_p2p_channel.py index ca5c03f72..02c8fc2ab 100644 --- a/tests/hwsim/test_p2p_channel.py +++ b/tests/hwsim/test_p2p_channel.py @@ -192,14 +192,14 @@ def test_autogo_following_bss(dev, apdev): channels = { 3 : "2422", 5 : "2432", 9 : "2452" } for key in channels: - hostapd.add_ap(apdev[0]['ifname'], { "ssid" : 'ap-test', - "channel" : str(key) }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid" : 'ap-test', + "channel" : str(key) }) dev[0].connect("ap-test", key_mgmt="NONE", scan_freq=str(channels[key])) res_go = autogo(dev[0]) if res_go['freq'] != channels[key]: raise Exception("Group operation channel is not the same as on connected station interface") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[0].remove_group(res_go['ifname']) def test_go_neg_with_bss_connected(dev, apdev): @@ -207,7 +207,8 @@ def test_go_neg_with_bss_connected(dev, apdev): dev[0].request("SET p2p_no_group_iface 0") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', "channel": '5' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], + { "ssid": 'bss-2.4ghz', "channel": '5' }) dev[0].connect("bss-2.4ghz", key_mgmt="NONE", scan_freq="2432") #dev[0] as GO [i_res, r_res] = go_neg_pbc(i_dev=dev[0], i_intent=10, r_dev=dev[1], @@ -217,7 +218,7 @@ def test_go_neg_with_bss_connected(dev, apdev): raise Exception("GO not selected according to go_intent") if i_res['freq'] != "2432": raise Exception("Group formed on a different frequency than BSS") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[0].remove_group(i_res['ifname']) if dev[0].get_mcc() > 1: @@ -232,7 +233,7 @@ def test_go_neg_with_bss_connected(dev, apdev): raise Exception("GO not selected according to go_intent") if i_res2['freq'] != "2432": raise Exception("Group formed on a different frequency than BSS") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_autogo_with_bss_on_disallowed_chan(dev, apdev): """P2P channel selection: Autonomous GO with BSS on a disallowed channel""" @@ -243,14 +244,14 @@ def test_autogo_with_bss_on_disallowed_chan(dev, apdev): logger.info("Skipping test because driver does not support MCC") return "skip" try: - hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', - "channel": '1' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', + "channel": '1' }) dev[0].request("P2P_SET disallow_freq 2412") dev[0].connect("bss-2.4ghz", key_mgmt="NONE", scan_freq="2412") res = autogo(dev[0]) if res['freq'] == "2412": raise Exception("GO set on a disallowed channel") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: dev[0].request("P2P_SET disallow_freq ") @@ -263,7 +264,8 @@ def test_go_neg_with_bss_on_disallowed_chan(dev, apdev): logger.info("Skipping test because driver does not support MCC") return "skip" try: - hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', "channel": '1' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], + { "ssid": 'bss-2.4ghz', "channel": '1' }) dev[0].connect("bss-2.4ghz", key_mgmt="NONE", scan_freq="2412") dev[0].request("P2P_SET disallow_freq 2412") @@ -275,7 +277,7 @@ def test_go_neg_with_bss_on_disallowed_chan(dev, apdev): raise Exception("GO not selected according to go_intent") if i_res['freq'] == "2412": raise Exception("Group formed on a disallowed channel") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[0].remove_group(i_res['ifname']) #dev[0] as client @@ -286,7 +288,7 @@ def test_go_neg_with_bss_on_disallowed_chan(dev, apdev): raise Exception("GO not selected according to go_intent") if i_res2['freq'] == "2412": raise Exception("Group formed on a disallowed channel") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: dev[0].request("P2P_SET disallow_freq ") @@ -298,12 +300,13 @@ def test_autogo_force_diff_channel(dev, apdev): dev[0].request("SET p2p_no_group_iface 0") - hostapd.add_ap(apdev[0]['ifname'], {"ssid" : 'ap-test', "channel" : '1'}) + hapd = hostapd.add_ap(apdev[0]['ifname'], + {"ssid" : 'ap-test', "channel" : '1'}) dev[0].connect("ap-test", key_mgmt = "NONE", scan_freq = "2412") channels = { 2 : 2417, 5 : 2432, 9 : 2452 } for key in channels: res_go = autogo(dev[0], channels[key]) - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) if int(res_go['freq']) == 2412: raise Exception("Group operation channel is: 2412 excepted: " + res_go['freq']) dev[0].remove_group(res_go['ifname']) @@ -316,9 +319,10 @@ def test_go_neg_forced_freq_diff_than_bss_freq(dev, apdev): dev[0].request("SET p2p_no_group_iface 0") - hostapd.add_ap(apdev[0]['ifname'], { "country_code": 'US', - "ssid": 'bss-5ghz', "hw_mode": 'a', - "channel": '40' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], + { "country_code": 'US', + "ssid": 'bss-5ghz', "hw_mode": 'a', + "channel": '40' }) dev[0].connect("bss-5ghz", key_mgmt="NONE", scan_freq="5200") # GO and peer force the same freq, different than BSS freq, @@ -330,7 +334,7 @@ def test_go_neg_forced_freq_diff_than_bss_freq(dev, apdev): raise Exception("P2P group formed on unexpected frequency: " + i_res['freq']) if r_res['role'] != "GO": raise Exception("GO not selected according to go_intent") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[0].remove_group(r_res['ifname']) # GO and peer force the same freq, different than BSS freq, dev[0] to @@ -342,7 +346,7 @@ def test_go_neg_forced_freq_diff_than_bss_freq(dev, apdev): raise Exception("P2P group formed on unexpected frequency: " + i_res2['freq']) if r_res2['role'] != "client": raise Exception("GO not selected according to go_intent") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_go_pref_chan_bss_on_diff_chan(dev, apdev): """P2P channel selection: Station on different channel than GO configured pref channel""" @@ -350,14 +354,14 @@ def test_go_pref_chan_bss_on_diff_chan(dev, apdev): dev[0].request("SET p2p_no_group_iface 0") try: - hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', - "channel": '1' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', + "channel": '1' }) dev[0].request("SET p2p_pref_chan 81:2") dev[0].connect("bss-2.4ghz", key_mgmt="NONE", scan_freq="2412") res = autogo(dev[0]) if res['freq'] != "2412": raise Exception("GO channel did not follow BSS") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: dev[0].request("SET p2p_pref_chan ") @@ -370,15 +374,15 @@ def test_go_pref_chan_bss_on_disallowed_chan(dev, apdev): dev[0].request("SET p2p_no_group_iface 0") try: - hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', - "channel": '1' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": 'bss-2.4ghz', + "channel": '1' }) dev[0].request("P2P_SET disallow_freq 2412") dev[0].request("SET p2p_pref_chan 81:2") dev[0].connect("bss-2.4ghz", key_mgmt="NONE", scan_freq="2412") res2 = autogo(dev[0]) if res2['freq'] != "2417": raise Exception("GO channel did not follow pref_chan configuration") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: dev[0].request("P2P_SET disallow_freq ") dev[0].request("SET p2p_pref_chan ") diff --git a/tests/hwsim/test_p2p_concurrency.py b/tests/hwsim/test_p2p_concurrency.py index 1521b39f7..37b9ee016 100644 --- a/tests/hwsim/test_p2p_concurrency.py +++ b/tests/hwsim/test_p2p_concurrency.py @@ -22,9 +22,9 @@ from test_p2p_persistent import invite def test_concurrent_autogo(dev, apdev): """Concurrent P2P autonomous GO""" logger.info("Connect to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) logger.info("Start a P2P group while associated to an AP") dev[0].request("SET p2p_no_group_iface 0") @@ -38,14 +38,14 @@ def test_concurrent_autogo(dev, apdev): dev[1].wait_go_ending_session() logger.info("Confirm AP connection after P2P group removal") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_concurrent_p2pcli(dev, apdev): """Concurrent P2P client join""" logger.info("Connect to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) logger.info("Join a P2P group while associated to an AP") dev[0].request("SET p2p_no_group_iface 0") @@ -59,14 +59,14 @@ def test_concurrent_p2pcli(dev, apdev): dev[0].wait_go_ending_session() logger.info("Confirm AP connection after P2P group removal") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_concurrent_grpform_go(dev, apdev): """Concurrent P2P group formation to become GO""" logger.info("Connect to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) logger.info("Form a P2P group while associated to an AP") dev[0].request("SET p2p_no_group_iface 0") @@ -77,14 +77,14 @@ def test_concurrent_grpform_go(dev, apdev): remove_group(dev[0], dev[1]) logger.info("Confirm AP connection after P2P group removal") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_concurrent_grpform_cli(dev, apdev): """Concurrent P2P group formation to become P2P Client""" logger.info("Connect to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) logger.info("Form a P2P group while associated to an AP") dev[0].request("SET p2p_no_group_iface 0") @@ -95,12 +95,12 @@ def test_concurrent_grpform_cli(dev, apdev): remove_group(dev[0], dev[1]) logger.info("Confirm AP connection after P2P group removal") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_concurrent_grpform_while_connecting(dev, apdev): """Concurrent P2P group formation while connecting to an AP""" logger.info("Start connection to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE", wait_connect=False) logger.info("Form a P2P group while connecting to an AP") @@ -112,12 +112,12 @@ def test_concurrent_grpform_while_connecting(dev, apdev): remove_group(dev[0], dev[1]) logger.info("Confirm AP connection after P2P group removal") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_concurrent_grpform_while_connecting2(dev, apdev): """Concurrent P2P group formation while connecting to an AP (2)""" logger.info("Start connection to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE", wait_connect=False) dev[1].request("BSS_FLUSH 0") dev[1].scan(freq="2412", only_new=True) @@ -132,12 +132,12 @@ def test_concurrent_grpform_while_connecting2(dev, apdev): logger.info("Confirm AP connection after P2P group removal") dev[0].wait_completed() - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_concurrent_grpform_while_connecting3(dev, apdev): """Concurrent P2P group formation while connecting to an AP (3)""" logger.info("Start connection to an infrastructure AP") - hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "test-open" }) dev[0].connect("test-open", key_mgmt="NONE", wait_connect=False) logger.info("Form a P2P group while connecting to an AP") @@ -150,7 +150,7 @@ def test_concurrent_grpform_while_connecting3(dev, apdev): logger.info("Confirm AP connection after P2P group removal") dev[0].wait_completed() - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) def test_concurrent_persistent_group(dev, apdev): """Concurrent P2P persistent group""" diff --git a/tests/hwsim/test_rfkill.py b/tests/hwsim/test_rfkill.py index 4b2a96b47..0bc493f08 100644 --- a/tests/hwsim/test_rfkill.py +++ b/tests/hwsim/test_rfkill.py @@ -46,7 +46,7 @@ def test_rfkill_open(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=10) if ev is None: raise Exception("Missing connection event on rfkill unblock") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: subprocess.call(['sudo', 'rfkill', 'unblock', id]) @@ -73,7 +73,7 @@ def test_rfkill_wpa2_psk(dev, apdev): ev = dev[0].wait_event(["CTRL-EVENT-CONNECTED"], timeout=10) if ev is None: raise Exception("Missing connection event on rfkill unblock") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) finally: subprocess.call(['sudo', 'rfkill', 'unblock', id]) diff --git a/tests/hwsim/test_sta_dynamic.py b/tests/hwsim/test_sta_dynamic.py index 00518d41f..4f28c3ddd 100644 --- a/tests/hwsim/test_sta_dynamic.py +++ b/tests/hwsim/test_sta_dynamic.py @@ -90,13 +90,13 @@ def test_sta_ap_scan_2(dev, apdev): def test_sta_dynamic_down_up(dev, apdev): """Dynamically added wpa_supplicant interface down/up""" params = hostapd.wpa2_params(ssid="sta-dynamic", passphrase="12345678") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) logger.info("Create a dynamic wpa_supplicant interface and connect") wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5') wpas.interface_add("wlan5") wpas.connect("sta-dynamic", psk="12345678", scan_freq="2412") - hwsim_utils.test_connectivity(wpas.ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(wpas, hapd) subprocess.call(['sudo', 'ifconfig', wpas.ifname, 'down']) ev = wpas.wait_event(["CTRL-EVENT-DISCONNECTED"], timeout=10) if ev is None: @@ -107,7 +107,7 @@ def test_sta_dynamic_down_up(dev, apdev): ev = wpas.wait_event(["CTRL-EVENT-CONNECTED"], timeout=15) if ev is None: raise Exception("Reconnection not reported") - hwsim_utils.test_connectivity(wpas.ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(wpas, hapd) def test_sta_dynamic_ext_mac_addr_change(dev, apdev): """Dynamically added wpa_supplicant interface with external MAC address change""" @@ -118,7 +118,7 @@ def test_sta_dynamic_ext_mac_addr_change(dev, apdev): wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5') wpas.interface_add("wlan5") wpas.connect("sta-dynamic", psk="12345678", scan_freq="2412") - hwsim_utils.test_connectivity(wpas.ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(wpas, hapd) subprocess.call(['sudo', 'ifconfig', wpas.ifname, 'down']) ev = wpas.wait_event(["CTRL-EVENT-DISCONNECTED"], timeout=10) if ev is None: @@ -136,7 +136,7 @@ def test_sta_dynamic_ext_mac_addr_change(dev, apdev): raise Exception("Reconnection not reported") if wpas.get_driver_status_field('addr') != new_addr: raise Exception("Address change not reported") - hwsim_utils.test_connectivity(wpas.ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(wpas, hapd) sta = hapd.get_sta(new_addr) if sta['addr'] != new_addr: raise Exception("STA association with new address not found") diff --git a/tests/hwsim/test_wep.py b/tests/hwsim/test_wep.py index 87900339a..725e56562 100644 --- a/tests/hwsim/test_wep.py +++ b/tests/hwsim/test_wep.py @@ -9,25 +9,25 @@ import hwsim_utils def test_wep_open_auth(dev, apdev): """WEP Open System authentication""" - hostapd.add_ap(apdev[0]['ifname'], - { "ssid": "wep-open", - "wep_key0": '"hello"' }) + hapd = hostapd.add_ap(apdev[0]['ifname'], + { "ssid": "wep-open", + "wep_key0": '"hello"' }) dev[0].connect("wep-open", key_mgmt="NONE", wep_key0='"hello"', scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) if "[WEP]" not in dev[0].request("SCAN_RESULTS"): raise Exception("WEP flag not indicated in scan results") def test_wep_shared_key_auth(dev, apdev): """WEP Shared Key authentication""" - hostapd.add_ap(apdev[0]['ifname'], - { "ssid": "wep-shared-key", - "wep_key0": '"hello12345678"', - "auth_algs": "2" }) + hapd = hostapd.add_ap(apdev[0]['ifname'], + { "ssid": "wep-shared-key", + "wep_key0": '"hello12345678"', + "auth_algs": "2" }) dev[0].connect("wep-shared-key", key_mgmt="NONE", auth_alg="SHARED", wep_key0='"hello12345678"', scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(dev[0], hapd) dev[1].connect("wep-shared-key", key_mgmt="NONE", auth_alg="OPEN SHARED", wep_key0='"hello12345678"', scan_freq="2412") diff --git a/tests/hwsim/test_wext.py b/tests/hwsim/test_wext.py index 302d0fef5..a3a914077 100644 --- a/tests/hwsim/test_wext.py +++ b/tests/hwsim/test_wext.py @@ -22,7 +22,7 @@ def REMOVED_test_wext_open(dev, apdev): return "skip" params = { "ssid": "wext-open" } - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5') try: @@ -32,7 +32,7 @@ def REMOVED_test_wext_open(dev, apdev): return "skip" wpas.connect("wext-open", key_mgmt="NONE") - hwsim_utils.test_connectivity(wpas.ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(wpas, hapd) def test_wext_wpa2_psk(dev, apdev): """WEXT driver interface with WPA2-PSK""" @@ -41,7 +41,7 @@ def test_wext_wpa2_psk(dev, apdev): return "skip" params = hostapd.wpa2_params(ssid="wext-wpa2-psk", passphrase="12345678") - hostapd.add_ap(apdev[0]['ifname'], params) + hapd = hostapd.add_ap(apdev[0]['ifname'], params) wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5') try: @@ -51,4 +51,4 @@ def test_wext_wpa2_psk(dev, apdev): return "skip" wpas.connect("wext-wpa2-psk", psk="12345678") - hwsim_utils.test_connectivity(wpas.ifname, apdev[0]['ifname']) + hwsim_utils.test_connectivity(wpas, hapd) diff --git a/tests/hwsim/test_wpas_ap.py b/tests/hwsim/test_wpas_ap.py index 5cce14feb..15f38c707 100644 --- a/tests/hwsim/test_wpas_ap.py +++ b/tests/hwsim/test_wpas_ap.py @@ -28,8 +28,8 @@ def test_wpas_ap_open(dev): dev[1].connect("wpas-ap-open", key_mgmt="NONE", scan_freq="2412") dev[2].connect("wpas-ap-open", key_mgmt="NONE", scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) - hwsim_utils.test_connectivity(dev[1].ifname, dev[2].ifname) + hwsim_utils.test_connectivity(dev[0], dev[1]) + hwsim_utils.test_connectivity(dev[1], dev[2]) addr1 = dev[1].p2p_interface_addr() addr2 = dev[2].p2p_interface_addr() @@ -84,7 +84,7 @@ def test_wpas_ap_wep(dev): dev[1].connect("wpas-ap-wep", key_mgmt="NONE", wep_key0='"hello"', scan_freq="2412") - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) + hwsim_utils.test_connectivity(dev[0], dev[1]) dev[1].request("DISCONNECT") def test_wpas_ap_no_ssid(dev): @@ -158,7 +158,7 @@ def test_wpas_ap_wps(dev): ev = dev[1].wait_event(["CTRL-EVENT-CONNECTED"], timeout=30) if ev is None: raise Exception("WPS PBC operation timed out") - hwsim_utils.test_connectivity(dev[0].ifname, dev[1].ifname) + hwsim_utils.test_connectivity(dev[0], dev[1]) logger.info("Test AP PIN to learn configuration") pin = dev[0].request("WPS_AP_PIN random") @@ -167,7 +167,7 @@ def test_wpas_ap_wps(dev): if pin not in dev[0].request("WPS_AP_PIN get"): raise Exception("Could not fetch current AP PIN") dev[2].wps_reg(bssid, pin) - hwsim_utils.test_connectivity(dev[1].ifname, dev[2].ifname) + hwsim_utils.test_connectivity(dev[1], dev[2]) dev[1].request("REMOVE_NETWORK all") dev[2].request("REMOVE_NETWORK all") -- 2.47.2