diff options
author | Michael Plass <mplass@google.com> | 2019-02-15 17:42:42 -0800 |
---|---|---|
committer | Michael Plass <mplass@google.com> | 2019-02-20 12:03:57 -0800 |
commit | 855dfe2183f743781f12c9dc87e2f3ef958b91f3 (patch) | |
tree | 57a1364b4d11a5f4c5f631fa0147cae747a45b7d /tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java | |
parent | c4edf29909e8e3fec889b4db9d4d253c5ca715c6 (diff) | |
download | android_frameworks_opt_net_wifi-855dfe2183f743781f12c9dc87e2f3ef958b91f3.tar.gz android_frameworks_opt_net_wifi-855dfe2183f743781f12c9dc87e2f3ef958b91f3.tar.bz2 android_frameworks_opt_net_wifi-855dfe2183f743781f12c9dc87e2f3ef958b91f3.zip |
Fix bugs in WifiNetworkSelector unit tests
The generated scan results and configurations used in these tests
were not consistent with each other, causing trouble in WifiCandidates.
Also fix the individual evaluator tests to be compatible with this.
Bug: 112196799
Bug: 124023173
Test: Added consistency checks
Test: atest FrameworksWifiTests
Test: frameworks/opt/net/wifi/tests/wifitests/coverage.sh /tmp/cov
Change-Id: I1f49006567bad56a1cb81e2399a1edf5d8fba2fe
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java index 6bf5c04c2..4f795ad03 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTestUtil.java @@ -33,8 +33,7 @@ import android.net.wifi.WifiNetworkScoreCache; import android.net.wifi.WifiSsid; import android.text.TextUtils; -import androidx.test.filters.SmallTest; - +import com.android.server.wifi.util.NativeUtil; import com.android.server.wifi.util.ScanResultUtil; import java.util.ArrayList; @@ -45,7 +44,6 @@ import java.util.Map; /** * Helper for WifiNetworkSelector unit tests. */ -@SmallTest public class WifiNetworkSelectorTestUtil { /** @@ -88,12 +86,26 @@ public class WifiNetworkSelectorTestUtil { WifiConfigManager wifiConfigManager, Clock clock) { List<ScanDetail> scanDetails = buildScanDetails(ssids, bssids, freqs, caps, levels, clock); WifiConfiguration[] savedConfigs = generateWifiConfigurations(ssids, securities); + checkConsistencyOfScanDetailsAndWifiConfigs(scanDetails, savedConfigs); prepareConfigStore(wifiConfigManager, savedConfigs); scanResultLinkConfiguration(wifiConfigManager, savedConfigs, scanDetails); return new ScanDetailsAndWifiConfigs(scanDetails, savedConfigs); } + private static void checkConsistencyOfScanDetailsAndWifiConfigs( + List<ScanDetail> scanDetails, + WifiConfiguration[] savedConfigs) { + assertEquals(scanDetails.size(), savedConfigs.length); + for (int i = 0; i < savedConfigs.length; i++) { + ScanResult scanResult = scanDetails.get(i).getScanResult(); + WifiConfiguration config = savedConfigs[i]; + assertEquals("Problem in entry " + i, + ScanResultMatchInfo.fromScanResult(scanResult), + ScanResultMatchInfo.fromWifiConfiguration(config)); + } + } + /** * Verify whether the WifiConfiguration chosen by WifiNetworkSelector matches * with the chosen scan result. @@ -125,7 +137,8 @@ public class WifiNetworkSelectorTestUtil { long timeStamp = clock.getElapsedSinceBootMillis(); for (int index = 0; index < ssids.length; index++) { - ScanDetail scanDetail = new ScanDetail(WifiSsid.createFromAsciiEncoded(ssids[index]), + byte[] ssid = NativeUtil.byteArrayFromArrayList(NativeUtil.decodeSsid(ssids[index])); + ScanDetail scanDetail = new ScanDetail(WifiSsid.createFromByteArray(ssid), bssids[index], caps[index], levels[index], freqs[index], timeStamp, 0); scanDetailList.add(scanDetail); } @@ -143,9 +156,8 @@ public class WifiNetworkSelectorTestUtil { */ public static WifiConfiguration[] generateWifiConfigurations(String[] ssids, int[] securities) { - if (ssids == null || securities == null || ssids.length != securities.length - || ssids.length == 0) { - return null; + if (ssids == null || securities == null || ssids.length != securities.length) { + throw new IllegalArgumentException(); } Map<String, Integer> netIdMap = new HashMap<>(); @@ -165,6 +177,10 @@ public class WifiNetworkSelectorTestUtil { configs[index] = generateWifiConfig(id.intValue(), 0, ssids[index], false, true, null, null, securities[index]); + configs[index].preSharedKey = "\"PA55W0RD\""; // needed to validate with PSK + if (!WifiConfigurationUtil.validate(configs[index], true)) { + throw new IllegalArgumentException("Invalid generated config: " + configs[index]); + } } return configs; |