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
This commit is contained in:
Junyu Lai 2024-07-02 14:15:03 +08:00 • committed by Paul Hu
commit d16aa5538e
2 changed files with 6 additions and 8 deletions

View file

@ -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

View file

@ -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<CapabilitiesChanged> {
// 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
}
}