From d16aa5538e2df41da5c9237e168fc6bda7cd377b Mon Sep 17 00:00:00 2001 From: Junyu Lai Date: Tue, 2 Jul 2024 14:15:03 +0800 Subject: [PATCH] Do not expect validated when connect to Wi-Fi for upstream type None Currently, upstream network validation is always required, even for type None. This is unnecessary for APF and mDNS tests, as they can be executed on local networks. Additionally, some devices lack the ability to perform network validation when the hotspot is enabled due to hardware limitations. Therefore, remove the validation check for upstream type None. Test: m connectivity_multi_devices_snippet && \ atest CtsConnectivityMultiDevicesTestCases:ConnectivityMultiDevicesTest Bug: 335368434 Bug: 396551848 Change-Id: If2a96cf9d62e37fc27be6193f9ce9b9cfc8613df --- staticlibs/testutils/host/python/tether_utils.py | 4 +++- .../snippet/ConnectivityMultiDevicesSnippet.kt | 10 +++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/staticlibs/testutils/host/python/tether_utils.py b/staticlibs/testutils/host/python/tether_utils.py index c63de1f25f..710f8a80a7 100644 --- a/staticlibs/testutils/host/python/tether_utils.py +++ b/staticlibs/testutils/host/python/tether_utils.py @@ -95,7 +95,9 @@ def setup_hotspot_and_client_for_upstream_type( hotspot_interface = server.startHotspot(test_ssid, test_passphrase) # Make the client connects to the hotspot. - client_network = client.connectToWifi(test_ssid, test_passphrase) + client_network = client.connectToWifi( + test_ssid, test_passphrase, upstream_type != UpstreamType.NONE + ) return hotspot_interface, client_network diff --git a/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt b/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt index 6da7e9a27d..252052e3de 100644 --- a/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt +++ b/tests/cts/multidevices/snippet/ConnectivityMultiDevicesSnippet.kt @@ -27,13 +27,11 @@ import android.net.NetworkCapabilities.TRANSPORT_WIFI import android.net.NetworkRequest import android.net.cts.util.CtsNetUtils import android.net.cts.util.CtsTetheringUtils -import android.net.wifi.ScanResult import android.net.wifi.SoftApConfiguration import android.net.wifi.SoftApConfiguration.SECURITY_TYPE_WPA2_PSK import android.net.wifi.WifiConfiguration import android.net.wifi.WifiInfo import android.net.wifi.WifiManager -import android.net.wifi.WifiNetworkSpecifier import android.net.wifi.WifiSsid import androidx.test.platform.app.InstrumentationRegistry import com.android.compatibility.common.util.PropertyUtil @@ -109,10 +107,7 @@ class ConnectivityMultiDevicesSnippet : Snippet { // Suppress warning because WifiManager methods to connect to a config are // documented not to be deprecated for privileged users. @Suppress("DEPRECATION") - fun connectToWifi(ssid: String, passphrase: String): Long { - val specifier = WifiNetworkSpecifier.Builder() - .setBand(ScanResult.WIFI_BAND_24_GHZ) - .build() + fun connectToWifi(ssid: String, passphrase: String, requireValidation: Boolean): Long { val wifiConfig = WifiConfiguration() wifiConfig.SSID = "\"" + ssid + "\"" wifiConfig.preSharedKey = "\"" + passphrase + "\"" @@ -141,7 +136,8 @@ class ConnectivityMultiDevicesSnippet : Snippet { return@runAsShell networkCallback.eventuallyExpect { // Remove double quotes. val ssidFromCaps = (WifiInfo::sanitizeSsid)(it.caps.ssid) - ssidFromCaps == ssid && it.caps.hasCapability(NET_CAPABILITY_VALIDATED) + ssidFromCaps == ssid && (!requireValidation || + it.caps.hasCapability(NET_CAPABILITY_VALIDATED)) }.network.networkHandle } }