diff options
author | Girish Moturu <gmoturu@google.com> | 2020-09-23 11:21:55 -0700 |
---|---|---|
committer | Girish Moturu <gmoturu@google.com> | 2020-09-23 11:23:06 -0700 |
commit | edef05b13ace5b8bcf727571b7fec960244c0dd6 (patch) | |
tree | c8c302d4fb8a826d26746fe0dadde8ad8e05de17 | |
parent | 2687dd1abaab36c9eefd8da586935f4ccc533fc2 (diff) | |
download | platform_tools_test_connectivity-edef05b13ace5b8bcf727571b7fec960244c0dd6.tar.gz platform_tools_test_connectivity-edef05b13ace5b8bcf727571b7fec960244c0dd6.tar.bz2 platform_tools_test_connectivity-edef05b13ace5b8bcf727571b7fec960244c0dd6.zip |
[OpenWrt] Add OpenWrt support to WiFi tests
Cherry picked changes from master
Bug: 158349179
Test: Verified the changes
Merged-In: I182bf13c65583a8cdca6a9632ea9833930bdbc0d
Change-Id: If888efda7d52d4d84cfccf6a43ddfb1c0f533b88
14 files changed, 103 insertions, 28 deletions
diff --git a/acts_tests/tests/google/wifi/WifiCrashTest.py b/acts_tests/tests/google/wifi/WifiCrashTest.py index e6cbe2e86b..f76b1ed0ac 100644 --- a/acts_tests/tests/google/wifi/WifiCrashTest.py +++ b/acts_tests/tests/google/wifi/WifiCrashTest.py @@ -55,6 +55,8 @@ class WifiCrashTest(WifiBaseTest): if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start() + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(wpa_network=True) asserts.assert_true( len(self.reference_networks) > 0, diff --git a/acts_tests/tests/google/wifi/WifiEnterpriseTest.py b/acts_tests/tests/google/wifi/WifiEnterpriseTest.py index a76f5684ec..20f5e9f043 100644 --- a/acts_tests/tests/google/wifi/WifiEnterpriseTest.py +++ b/acts_tests/tests/google/wifi/WifiEnterpriseTest.py @@ -65,6 +65,13 @@ class WifiEnterpriseTest(WifiBaseTest): radius_conf_5g=self.radius_conf_5g, ent_network_pwd=True, radius_conf_pwd=self.radius_conf_pwd,) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start( + ent_network=True, + radius_conf_2g=self.radius_conf_2g, + radius_conf_5g=self.radius_conf_5g, + ent_network_pwd=True, + radius_conf_pwd=self.radius_conf_pwd,) self.ent_network_2g = self.ent_networks[0]["2g"] self.ent_network_5g = self.ent_networks[0]["5g"] self.ent_network_pwd = self.ent_networks_pwd[0]["2g"] diff --git a/acts_tests/tests/google/wifi/WifiHiddenSSIDTest.py b/acts_tests/tests/google/wifi/WifiHiddenSSIDTest.py index a68144d35a..38f3442dd8 100644 --- a/acts_tests/tests/google/wifi/WifiHiddenSSIDTest.py +++ b/acts_tests/tests/google/wifi/WifiHiddenSSIDTest.py @@ -51,6 +51,10 @@ class WifiHiddenSSIDTest(WifiBaseTest): if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start(hidden=True) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True, + wpa_network=True, + hidden=True) asserts.assert_true( len(self.reference_networks) > 0, diff --git a/acts_tests/tests/google/wifi/WifiLinkProbeTest.py b/acts_tests/tests/google/wifi/WifiLinkProbeTest.py index fdf81787bc..5f00e6c3e2 100644 --- a/acts_tests/tests/google/wifi/WifiLinkProbeTest.py +++ b/acts_tests/tests/google/wifi/WifiLinkProbeTest.py @@ -47,7 +47,8 @@ class WifiLinkProbeTest(WifiBaseTest): if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start() - self.configure_packet_capture() + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(wpa_network=True) asserts.assert_true(len(self.reference_networks) > 0, "Need at least one reference network with psk.") diff --git a/acts_tests/tests/google/wifi/WifiMacRandomizationTest.py b/acts_tests/tests/google/wifi/WifiMacRandomizationTest.py index cfbd0a3926..64990d3ce1 100644 --- a/acts_tests/tests/google/wifi/WifiMacRandomizationTest.py +++ b/acts_tests/tests/google/wifi/WifiMacRandomizationTest.py @@ -79,7 +79,12 @@ class WifiMacRandomizationTest(WifiBaseTest): self.configure_packet_capture() if "AccessPoint" in self.user_params: - self.legacy_configure_ap_and_start(wep_network=True, ap_count=2) + self.legacy_configure_ap_and_start(wep_network=True, + ap_count=2) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True, + wpa_network=True, + wep_network=True) asserts.assert_true( len(self.reference_networks) > 0, diff --git a/acts_tests/tests/google/wifi/WifiManagerTest.py b/acts_tests/tests/google/wifi/WifiManagerTest.py index d7107ca9e4..9d7f8a0a0f 100644 --- a/acts_tests/tests/google/wifi/WifiManagerTest.py +++ b/acts_tests/tests/google/wifi/WifiManagerTest.py @@ -70,6 +70,10 @@ class WifiManagerTest(WifiBaseTest): if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start(wpa_network=True, wep_network=True) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True, + wpa_network=True, + wep_network=True) asserts.assert_true( len(self.reference_networks) > 0, diff --git a/acts_tests/tests/google/wifi/WifiNetworkRequestTest.py b/acts_tests/tests/google/wifi/WifiNetworkRequestTest.py index 58e90caf40..7a1d8bcc32 100644 --- a/acts_tests/tests/google/wifi/WifiNetworkRequestTest.py +++ b/acts_tests/tests/google/wifi/WifiNetworkRequestTest.py @@ -61,6 +61,10 @@ class WifiNetworkRequestTest(WifiBaseTest): if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start(wpa_network=True, wep_network=True) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True, + wpa_network=True, + wep_network=True) asserts.assert_true( len(self.reference_networks) > 0, diff --git a/acts_tests/tests/google/wifi/WifiNetworkSuggestionTest.py b/acts_tests/tests/google/wifi/WifiNetworkSuggestionTest.py index ba37b4e2cc..f62ba56526 100644 --- a/acts_tests/tests/google/wifi/WifiNetworkSuggestionTest.py +++ b/acts_tests/tests/google/wifi/WifiNetworkSuggestionTest.py @@ -76,7 +76,9 @@ class WifiNetworkSuggestionTest(WifiBaseTest): wpa_network=True, ent_network=True, radius_conf_2g=self.radius_conf_2g, radius_conf_5g=self.radius_conf_5g,) - + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True, + wpa_network=True,) if hasattr(self, "reference_networks") and \ isinstance(self.reference_networks, list): self.wpa_psk_2g = self.reference_networks[0]["2g"] @@ -84,23 +86,6 @@ class WifiNetworkSuggestionTest(WifiBaseTest): if hasattr(self, "open_network") and isinstance(self.open_network,list): self.open_2g = self.open_network[0]["2g"] self.open_5g = self.open_network[0]["5g"] - if hasattr(self, "ent_networks") and isinstance(self.ent_networks,list): - self.ent_network_2g = self.ent_networks[0]["2g"] - self.ent_network_5g = self.ent_networks[0]["5g"] - self.config_aka = { - Ent.EAP: int(EAP.AKA), - WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], - "carrierId": str(self.dut.droid.telephonyGetSimCarrierId()), - } - self.config_ttls = { - Ent.EAP: int(EAP.TTLS), - Ent.CA_CERT: self.ca_cert, - Ent.IDENTITY: self.eap_identity, - Ent.PASSWORD: self.eap_password, - Ent.PHASE2: int(EapPhase2.MSCHAPV2), - WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], - Ent.ALTSUBJECT_MATCH: self.altsubject_match, - } if hasattr(self, "hidden_networks") and \ isinstance(self.hidden_networks, list): self.hidden_network = self.hidden_networks[0] @@ -116,6 +101,15 @@ class WifiNetworkSuggestionTest(WifiBaseTest): wutils.wifi_toggle_state(self.dut, True) self.dut.ed.clear_all_events() self.clear_carrier_approved(str(self.dut.droid.telephonyGetSimCarrierId())) + if "_ent_" in self.test_name: + if "OpenWrtAP" in self.user_params: + self.access_points[0].close() + self.configure_openwrt_ap_and_start( + ent_network=True, + radius_conf_2g=self.radius_conf_2g, + radius_conf_5g=self.radius_conf_5g,) + self.ent_network_2g = self.ent_networks[0]["2g"] + self.ent_network_5g = self.ent_networks[0]["5g"] def teardown_test(self): self.dut.droid.wakeLockRelease() @@ -474,6 +468,10 @@ class WifiNetworkSuggestionTest(WifiBaseTest): 6. Remove suggestions and ensure device doesn't connect back to it. 7. Reboot the device again, ensure user approval is kept """ + self.config_aka = { + Ent.EAP: int(EAP.AKA), + WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], + } if "carrierId" in self.config_aka: self.set_carrier_approved(self.config_aka["carrierId"], True) self._test_connect_to_wifi_network_reboot_config_store( @@ -496,6 +494,14 @@ class WifiNetworkSuggestionTest(WifiBaseTest): 6. Remove suggestions and ensure device doesn't connect back to it. 7. Reboot the device again, ensure user approval is kept """ + self.config_ttls = { + Ent.EAP: int(EAP.TTLS), + Ent.CA_CERT: self.ca_cert, + Ent.IDENTITY: self.eap_identity, + Ent.PASSWORD: self.eap_password, + Ent.PHASE2: int(EapPhase2.MSCHAPV2), + WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], + } config = dict(self.config_ttls) config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.PAP.value diff --git a/acts_tests/tests/google/wifi/WifiScannerMultiScanTest.py b/acts_tests/tests/google/wifi/WifiScannerMultiScanTest.py index aebcaf7d8e..4ee786267e 100755 --- a/acts_tests/tests/google/wifi/WifiScannerMultiScanTest.py +++ b/acts_tests/tests/google/wifi/WifiScannerMultiScanTest.py @@ -263,6 +263,8 @@ class WifiScannerMultiScanTest(WifiBaseTest): if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start() + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True) self.wifi_chs = WifiChannelUS(self.dut.model) diff --git a/acts_tests/tests/google/wifi/WifiSoftApAcsTest.py b/acts_tests/tests/google/wifi/WifiSoftApAcsTest.py index dc993816f0..22d08b1a21 100644 --- a/acts_tests/tests/google/wifi/WifiSoftApAcsTest.py +++ b/acts_tests/tests/google/wifi/WifiSoftApAcsTest.py @@ -174,15 +174,20 @@ class WifiSoftApAcsTest(WifiBaseTest): channel_5g: The channel number to use for 5GHz network. """ + if not channel_2g: + channel_2g = hostapd_constants.AP_DEFAULT_CHANNEL_2G + if not channel_5g: + channel_5g = hostapd_constants.AP_DEFAULT_CHANNEL_5G if "AccessPoint" in self.user_params: - if not channel_2g: - channel_2g = hostapd_constants.AP_DEFAULT_CHANNEL_2G - if not channel_5g: - channel_5g = hostapd_constants.AP_DEFAULT_CHANNEL_5G self.legacy_configure_ap_and_start(wpa_network=True, wep_network=True, channel_2g=channel_2g, channel_5g=channel_5g) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(wpa_network=True, + wep_network=True, + channel_2g=channel_2g, + channel_5g=channel_5g) def start_traffic_and_softap(self, network, softap_band): """Start iPerf traffic on client dut, during softAP bring-up on dut. diff --git a/acts_tests/tests/google/wifi/WifiSoftApTest.py b/acts_tests/tests/google/wifi/WifiSoftApTest.py index 8faf1c5672..7c7840d5d1 100644 --- a/acts_tests/tests/google/wifi/WifiSoftApTest.py +++ b/acts_tests/tests/google/wifi/WifiSoftApTest.py @@ -52,6 +52,8 @@ class WifiSoftApTest(WifiBaseTest): req_param_names=req_params, opt_param_names=opt_param) if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start() + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True) self.open_network = self.open_network[0]["2g"] # Do a simple version of init - mainly just sync the time and enable # verbose logging. This test will fail if the DUT has a sim and cell diff --git a/acts_tests/tests/google/wifi/WifiStaApConcurrencyTest.py b/acts_tests/tests/google/wifi/WifiStaApConcurrencyTest.py index c5d74249f1..6757be6e09 100644 --- a/acts_tests/tests/google/wifi/WifiStaApConcurrencyTest.py +++ b/acts_tests/tests/google/wifi/WifiStaApConcurrencyTest.py @@ -92,8 +92,13 @@ class WifiStaApConcurrencyTest(WifiBaseTest): self.turn_location_on_and_scan_toggle_on() wutils.wifi_toggle_state(self.dut, True) self.access_points[0].close() - del self.user_params["reference_networks"] - del self.user_params["open_network"] + if "AccessPoint" in self.user_params: + try: + del self.user_params["reference_networks"] + del self.user_params["open_network"] + except KeyError as e: + self.log.warn("There is no 'reference_network' or " + "'open_network' to delete") def on_fail(self, test_name, begin_time): for ad in self.android_devices: @@ -114,8 +119,13 @@ class WifiStaApConcurrencyTest(WifiBaseTest): channel_2g = hostapd_constants.AP_DEFAULT_CHANNEL_2G if not channel_5g: channel_5g = hostapd_constants.AP_DEFAULT_CHANNEL_5G - self.legacy_configure_ap_and_start(channel_2g=channel_2g, - channel_5g=channel_5g) + if "AccessPoint" in self.user_params: + self.legacy_configure_ap_and_start(channel_2g=channel_2g, + channel_5g=channel_5g) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True, + channel_2g=channel_2g, + channel_5g=channel_5g) self.open_2g = self.open_network[0]["2g"] self.open_5g = self.open_network[0]["5g"] diff --git a/acts_tests/tests/google/wifi/WifiWakeTest.py b/acts_tests/tests/google/wifi/WifiWakeTest.py index 7e4645242e..5fffb9088a 100644 --- a/acts_tests/tests/google/wifi/WifiWakeTest.py +++ b/acts_tests/tests/google/wifi/WifiWakeTest.py @@ -57,6 +57,9 @@ class WifiWakeTest(WifiBaseTest): if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start(mirror_ap=False, ap_count=2) + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(wpa_network=True, + ap_count=2) # use 2G since Wifi Wake does not work if an AP is on a 5G DFS channel self.ap_a = self.reference_networks[0]["2g"] @@ -64,28 +67,46 @@ class WifiWakeTest(WifiBaseTest): self.ap_a_atten = self.attenuators[0] self.ap_b_atten = self.attenuators[2] + if "OpenWrtAP" in self.user_params: + self.ap_b_atten = self.attenuators[1] # TODO(b/119040540): this method of disabling/re-enabling Wifi on APs is # hacky, switch to using public methods when they are implemented def ap_a_off(self): + if "OpenWrtAP" in self.user_params: + self.access_points[0].stop_ap() + self.log.info('Turned AP A off') + return ap_a_hostapd = self.access_points[0]._aps['wlan0'].hostapd if ap_a_hostapd.is_alive(): ap_a_hostapd.stop() self.log.info('Turned AP A off') def ap_a_on(self): + if "OpenWrtAP" in self.user_params: + self.access_points[0].start_ap() + self.log.info('Turned AP A on') + return ap_a_hostapd = self.access_points[0]._aps['wlan0'].hostapd if not ap_a_hostapd.is_alive(): ap_a_hostapd.start(ap_a_hostapd.config) self.log.info('Turned AP A on') def ap_b_off(self): + if "OpenWrtAP" in self.user_params: + self.access_points[1].stop_ap() + self.log.info('Turned AP B off') + return ap_b_hostapd = self.access_points[1]._aps['wlan0'].hostapd if ap_b_hostapd.is_alive(): ap_b_hostapd.stop() self.log.info('Turned AP B off') def ap_b_on(self): + if "OpenWrtAP" in self.user_params: + self.access_points[1].start_ap() + self.log.info('Turned AP B on') + return ap_b_hostapd = self.access_points[1]._aps['wlan0'].hostapd if not ap_b_hostapd.is_alive(): ap_b_hostapd.start(ap_b_hostapd.config) diff --git a/acts_tests/tests/google/wifi/rtt/functional/RttDisableTest.py b/acts_tests/tests/google/wifi/rtt/functional/RttDisableTest.py index 635837c950..e3219d4158 100644 --- a/acts_tests/tests/google/wifi/rtt/functional/RttDisableTest.py +++ b/acts_tests/tests/google/wifi/rtt/functional/RttDisableTest.py @@ -34,6 +34,8 @@ class RttDisableTest(WifiBaseTest, RttBaseTest): super().setup_class() if "AccessPoint" in self.user_params: self.legacy_configure_ap_and_start() + elif "OpenWrtAP" in self.user_params: + self.configure_openwrt_ap_and_start(open_network=True) def run_disable_rtt(self, disable_mode): """Validate the RTT disabled flows: whether by disabling Wi-Fi or entering |