Snap for 5791668 from 11cdd596e5c607a638cbd26556eef8a85e92b9c6 to qt-c2f2-release
Change-Id: I4a60a4fe5f184f9b5b7366fe45b4ca32f3074ecb
diff --git a/acts/framework/acts/test_utils/wifi/wifi_test_utils.py b/acts/framework/acts/test_utils/wifi/wifi_test_utils.py
index b2ae9a4..6e29e61 100755
--- a/acts/framework/acts/test_utils/wifi/wifi_test_utils.py
+++ b/acts/framework/acts/test_utils/wifi/wifi_test_utils.py
@@ -44,7 +44,6 @@
SHORT_TIMEOUT = 30
ROAMING_TIMEOUT = 30
WIFI_CONNECTION_TIMEOUT_DEFAULT = 30
-WIFI_ABNORMAL_CONNECTION_TIME = 10
# Speed of light in m/s.
SPEED_OF_LIGHT = 299792458
@@ -1166,9 +1165,7 @@
if id is None and ssid is None:
for i in range(tries):
try:
- start = time.time()
conn_result = ad.ed.pop_event(wifi_constants.WIFI_CONNECTED, 30)
- _assert_connection_time(start)
break
except Empty:
pass
@@ -1176,25 +1173,16 @@
# If ssid or network id is specified, wait for specific connect event.
for i in range(tries):
try:
- start = time.time()
conn_result = ad.ed.pop_event(wifi_constants.WIFI_CONNECTED, 30)
if id and conn_result['data'][WifiEnums.NETID_KEY] == id:
- _assert_connection_time(start)
break
elif ssid and conn_result['data'][WifiEnums.SSID_KEY] == ssid:
- _assert_connection_time(start)
break
except Empty:
pass
return conn_result
-def _assert_connection_time(start):
- duration = time.time() - start
- asserts.assert_true(
- duration < WIFI_ABNORMAL_CONNECTION_TIME,
- "Took " + str(duration) + "s to connect to network, " +
- " expected " + str(WIFI_ABNORMAL_CONNECTION_TIME))
def wait_for_disconnect(ad, timeout=10):
"""Wait for a disconnect event within the specified timeout.
@@ -1430,6 +1418,7 @@
finally:
ad.droid.wifiStopTrackingStateChange()
+
def wifi_connect_using_network_request(ad, network, network_specifier,
num_of_tries=3, assert_on_fail=True):
"""Connect an Android device to a wifi network using network request.
diff --git a/acts/tests/google/wifi/WifiNetworkSuggestionTest.py b/acts/tests/google/wifi/WifiNetworkSuggestionTest.py
index 6d97c7e..27f859c 100755
--- a/acts/tests/google/wifi/WifiNetworkSuggestionTest.py
+++ b/acts/tests/google/wifi/WifiNetworkSuggestionTest.py
@@ -57,10 +57,10 @@
def setup_class(self):
self.dut = self.android_devices[0]
wutils.wifi_test_device_init(self.dut)
- req_params = ["radius_conf_2g", "radius_conf_5g", "ca_cert",
- "eap_identity", "eap_password",]
+ req_params = []
opt_param = [
- "open_network", "reference_networks"
+ "open_network", "reference_networks", "radius_conf_2g", "radius_conf_5g", "ca_cert",
+ "eap_identity", "eap_password"
]
self.unpack_userparams(
req_param_names=req_params, opt_param_names=opt_param)
@@ -74,24 +74,27 @@
asserts.assert_true(
len(self.reference_networks) > 0,
"Need at least one reference network with psk.")
- self.wpa_psk_2g = self.reference_networks[0]["2g"]
- self.wpa_psk_5g = self.reference_networks[0]["5g"]
- self.open_2g = self.open_network[0]["2g"]
- self.open_5g = self.open_network[0]["5g"]
- 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],
- }
- 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],
- }
+ if hasattr(self, "reference_networks"):
+ self.wpa_psk_2g = self.reference_networks[0]["2g"]
+ self.wpa_psk_5g = self.reference_networks[0]["5g"]
+ if hasattr(self, "open_network"):
+ self.open_2g = self.open_network[0]["2g"]
+ self.open_5g = self.open_network[0]["5g"]
+ if hasattr(self, "ent_networks"):
+ 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],
+ }
+ 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],
+ }
self.dut.droid.wifiRemoveNetworkSuggestions([])
def setup_test(self):
@@ -173,6 +176,26 @@
self.dut.droid.wifiStopTrackingNetworkSuggestionStateChange()
self.dut.ed.clear_all_events()
+ def remove_suggestions_disconnect_and_ensure_no_connection_back(self,
+ network_suggestions,
+ expected_ssid):
+ self.dut.log.info("Removing network suggestions")
+ asserts.assert_true(
+ self.dut.droid.wifiRemoveNetworkSuggestions(network_suggestions),
+ "Failed to remove suggestions")
+ # Ensure we did not disconnect
+ wutils.ensure_no_disconnect(self.dut)
+
+ # Trigger a disconnect and wait for the disconnect.
+ self.dut.droid.wifiDisconnect()
+ wutils.wait_for_disconnect(self.dut)
+ self.dut.ed.clear_all_events()
+
+ # Now ensure that we didn't connect back.
+ asserts.assert_false(
+ wutils.wait_for_connect(self.dut, expected_ssid, assert_on_fail=False),
+ "Device should not connect back")
+
def _test_connect_to_wifi_network_reboot_config_store(self,
network_suggestions,
wifi_network):
@@ -192,20 +215,8 @@
wutils.wait_for_connect(self.dut, wifi_network[WifiEnums.SSID_KEY])
- # Remove suggestion trigger disconnect and wait for the disconnect.
- self.dut.log.info("Removing network suggestions")
- asserts.assert_true(
- self.dut.droid.wifiRemoveNetworkSuggestions(network_suggestions),
- "Failed to remove suggestions")
- wutils.wait_for_disconnect(self.dut)
- self.dut.ed.clear_all_events()
-
- # Now ensure that we didn't connect back.
- asserts.assert_false(
- wutils.wait_for_connect(self.dut,
- wifi_network[WifiEnums.SSID_KEY],
- assert_on_fail=False),
- "Device should not connect back")
+ self.remove_suggestions_disconnect_and_ensure_no_connection_back(
+ network_suggestions, wifi_network[WifiEnums.SSID_KEY])
@test_tracker_info(uuid="bda8ed20-4382-4380-831a-64cf77eca108")
def test_connect_to_wpa_psk_2g(self):
@@ -222,20 +233,8 @@
[self.wpa_psk_2g], self.wpa_psk_2g[WifiEnums.SSID_KEY],
False)
- # Remove suggestion trigger disconnect and wait for the disconnect.
- self.dut.log.info("Removing network suggestions");
- asserts.assert_true(
- self.dut.droid.wifiRemoveNetworkSuggestions([self.wpa_psk_2g]),
- "Failed to remove suggestions")
- wutils.wait_for_disconnect(self.dut)
- self.dut.ed.clear_all_events()
-
- # Now ensure that we didn't connect back.
- asserts.assert_false(
- wutils.wait_for_connect(self.dut,
- self.wpa_psk_2g[WifiEnums.SSID_KEY],
- assert_on_fail=False),
- "Device should not connect back")
+ self.remove_suggestions_disconnect_and_ensure_no_connection_back(
+ [self.wpa_psk_2g], self.wpa_psk_2g[WifiEnums.SSID_KEY])
@test_tracker_info(uuid="f54bc250-d9e9-4f00-8b5b-b866e8550b43")
def test_connect_to_highest_priority(self):
@@ -262,13 +261,8 @@
self.wpa_psk_2g[WifiEnums.SSID_KEY],
None)
- # Remove all suggestions trigger disconnect and wait for the disconnect.
- self.dut.log.info("Removing network suggestions")
- asserts.assert_true(
- self.dut.droid.wifiRemoveNetworkSuggestions([]),
- "Failed to remove suggestions")
- wutils.wait_for_disconnect(self.dut)
- self.dut.ed.clear_all_events()
+ self.remove_suggestions_disconnect_and_ensure_no_connection_back(
+ [], self.wpa_psk_2g[WifiEnums.SSID_KEY])
# Reverse the priority.
# Add suggestions & wait for the connection event.
@@ -296,21 +290,8 @@
self.add_suggestions_and_ensure_connection(
[network_suggestion], self.wpa_psk_2g[WifiEnums.SSID_KEY],
True)
-
- # Remove suggestion trigger disconnect and wait for the disconnect.
- self.dut.log.info("Removing network suggestions");
- asserts.assert_true(
- self.dut.droid.wifiRemoveNetworkSuggestions([network_suggestion]),
- "Failed to remove suggestions")
- wutils.wait_for_disconnect(self.dut)
- self.dut.ed.clear_all_events()
-
- # Now ensure that we didn't connect back.
- asserts.assert_false(
- wutils.wait_for_connect(self.dut,
- self.wpa_psk_2g[WifiEnums.SSID_KEY],
- assert_on_fail=False),
- "Device should not connect back")
+ self.remove_suggestions_disconnect_and_ensure_no_connection_back(
+ [self.wpa_psk_2g], self.wpa_psk_2g[WifiEnums.SSID_KEY])
@test_tracker_info(uuid="a036a24d-29c0-456d-ae6a-afdde34da710")
def test_connect_to_wpa_psk_5g_reboot_config_store(self):
@@ -439,7 +420,7 @@
[network_suggestion], self.wpa_psk_2g[WifiEnums.SSID_KEY],
True)
- # Simulate user forgeting the ephemeral network.
+ # Simulate user forgetting the ephemeral network.
self.dut.droid.wifiDisableEphemeralNetwork(
self.wpa_psk_2g[WifiEnums.SSID_KEY])
wutils.wait_for_disconnect(self.dut)