Add test for WifiInfo#getFrequency()
Add getFrequency() to WifiInfoTest (along with other missing getters),
and test that it is consistent with ScanResult in ScanResultTest.
Test: atest android.net.wifi.cts.ScanResultTest
Fixes: b/138929469
Merged-In: I070b16661bc72a5c5035b0b227821b680d7d71ba
(cherry picked from commit 2d504956e63eefb0a6a90844d1d00b99c097891b)
Change-Id: Ie99011acbbe66e9088f73964fd0c39d640594011
diff --git a/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java b/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java
index ccf5fe2..9bd1226 100644
--- a/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/ScanResultTest.java
@@ -23,6 +23,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
+import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.WifiLock;
import android.platform.test.annotations.AppModeFull;
@@ -54,6 +55,8 @@
private static final int ENABLE_WAIT_MSEC = 10000;
private static final int SCAN_WAIT_MSEC = 10000;
private static final int SCAN_MAX_RETRY_COUNT = 6;
+ private static final int SCAN_FIND_BSSID_MAX_RETRY_COUNT = 5;
+ private static final long SCAN_FIND_BSSID_WAIT_MSEC = 5_000L;
private IntentFilter mIntentFilter;
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
@@ -200,4 +203,31 @@
}
+ public void testScanResultMatchesWifiInfo() throws Exception {
+ if (!WifiFeature.isWifiSupported(getContext())) {
+ // skip the test if WiFi is not supported
+ return;
+ }
+
+ // This test case should run while connected to Wifi
+ final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+ assertNotNull(wifiInfo);
+
+ ScanResult currentNetwork = null;
+ for (int i = 0; i < SCAN_FIND_BSSID_MAX_RETRY_COUNT; i++) {
+ scanAndWait();
+ final List<ScanResult> scanResults = mWifiManager.getScanResults();
+ currentNetwork = scanResults.stream().filter(r -> r.BSSID.equals(wifiInfo.getBSSID()))
+ .findAny().orElse(null);
+
+ if (currentNetwork != null) {
+ break;
+ }
+ Thread.sleep(SCAN_FIND_BSSID_WAIT_MSEC);
+ }
+ assertNotNull("Current network not found in scan results", currentNetwork);
+
+ assertEquals(wifiInfo.getWifiSsid(), currentNetwork.wifiSsid);
+ assertEquals(wifiInfo.getFrequency(), currentNetwork.frequency);
+ }
}
diff --git a/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java b/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
index 5367722..9d9b2a3 100644
--- a/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/WifiInfoTest.java
@@ -139,8 +139,11 @@
}
wifiInfo.getBSSID();
+ wifiInfo.getFrequency();
wifiInfo.getIpAddress();
wifiInfo.getLinkSpeed();
+ wifiInfo.getPasspointFqdn();
+ wifiInfo.getPasspointProviderFriendlyName();
wifiInfo.getTxLinkSpeedMbps();
wifiInfo.getRxLinkSpeedMbps();
wifiInfo.getRssi();