diff options
Diffstat (limited to 'tests')
3 files changed, 53 insertions, 11 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/BaseWifiScannerImplTest.java b/tests/wifitests/src/com/android/server/wifi/BaseWifiScannerImplTest.java index 5e11cd97a..baf317280 100644 --- a/tests/wifitests/src/com/android/server/wifi/BaseWifiScannerImplTest.java +++ b/tests/wifitests/src/com/android/server/wifi/BaseWifiScannerImplTest.java @@ -47,6 +47,7 @@ import org.mockito.MockitoAnnotations; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.HashSet; import java.util.Set; /** @@ -104,6 +105,7 @@ public abstract class BaseWifiScannerImplTest { .build(); doSuccessfulSingleScanTest(settings, expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), + new HashSet<Integer>(), ScanResults.create(0, 2400, 2450, 2450, 2400, 2450, 2450, 2400, 2450, 2450), false); } @@ -116,6 +118,7 @@ public abstract class BaseWifiScannerImplTest { .build(); doSuccessfulSingleScanTest(settings, createFreqSet(5650), + new HashSet<Integer>(), ScanResults.create(0, 5650, 5650, 5650, 5650, 5650, 5650, 5650, 5650), false); } @@ -131,9 +134,32 @@ public abstract class BaseWifiScannerImplTest { .build(); doSuccessfulSingleScanTest(settings, expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), + new HashSet<Integer>(), ScanResults.create(0, 2400, 2450, 2450, 2400, 2450, 2450, 2400, 2450, 2450), true); } + /** + * Tests whether the provided hidden networkId's in scan settings is correctly passed along + * when invoking native scan. + */ + @Test + public void singleScanSuccessWithHiddenNetworkIds() { + int[] hiddenNetworkIds = {0, 5}; + WifiNative.ScanSettings settings = new NativeScanSettingsBuilder() + .withBasePeriod(10000) + .withMaxApPerScan(10) + .withHiddenNetworkIds(hiddenNetworkIds) + .addBucketWithChannels(20000, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN, 5650) + .build(); + + Set<Integer> hiddenNetworkIdSet = new HashSet<Integer>(); + for (int i = 0; i < hiddenNetworkIds.length; i++) { + hiddenNetworkIdSet.add(hiddenNetworkIds[i]); + } + doSuccessfulSingleScanTest(settings, createFreqSet(5650), + hiddenNetworkIdSet, + ScanResults.create(0, 5650, 5650, 5650, 5650, 5650, 5650, 5650, 5650), false); + } @Test public void overlappingSingleScanFails() { @@ -235,6 +261,7 @@ public abstract class BaseWifiScannerImplTest { expectSuccessfulSingleScan(order, eventHandler, expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), + new HashSet<Integer>(), ScanResults.create(0, 2400, 2450, 2450), false); // start second scan @@ -242,6 +269,7 @@ public abstract class BaseWifiScannerImplTest { expectSuccessfulSingleScan(order, eventHandler, expectedBandScanFreqs(WifiScanner.WIFI_BAND_5_GHZ), + new HashSet<Integer>(), ScanResults.create(0, 5150, 5175), false); verifyNoMoreInteractions(eventHandler); @@ -341,7 +369,8 @@ public abstract class BaseWifiScannerImplTest { } protected void doSuccessfulSingleScanTest(WifiNative.ScanSettings settings, - Set<Integer> expectedScan, ScanResults results, boolean expectFullResults) { + Set<Integer> expectedScan, Set<Integer> expectedHiddenNetIds, ScanResults results, + boolean expectFullResults) { WifiNative.ScanEventHandler eventHandler = mock(WifiNative.ScanEventHandler.class); InOrder order = inOrder(eventHandler, mWifiNative); @@ -352,15 +381,16 @@ public abstract class BaseWifiScannerImplTest { // start scan assertTrue(mScanner.startSingleScan(settings, eventHandler)); - expectSuccessfulSingleScan(order, eventHandler, expectedScan, results, expectFullResults); + expectSuccessfulSingleScan(order, eventHandler, expectedScan, expectedHiddenNetIds, + results, expectFullResults); verifyNoMoreInteractions(eventHandler); } protected void expectSuccessfulSingleScan(InOrder order, WifiNative.ScanEventHandler eventHandler, Set<Integer> expectedScan, - ScanResults results, boolean expectFullResults) { - order.verify(mWifiNative).scan(eq(expectedScan), any(Set.class)); + Set<Integer> expectedHiddenNetIds, ScanResults results, boolean expectFullResults) { + order.verify(mWifiNative).scan(eq(expectedScan), eq(expectedHiddenNetIds)); when(mWifiNative.getScanResults()).thenReturn(results.getScanDetailArrayList()); diff --git a/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java b/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java index 7be1e6e64..de46dff42 100644 --- a/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java +++ b/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java @@ -118,6 +118,16 @@ public class ScanTestUtil { return this; } + /** + * Add the provided hidden network IDs to scan request. + * @param networkIds List of hidden network IDs + * @return builder object + */ + public NativeScanSettingsBuilder withHiddenNetworkIds(int[] networkIds) { + mSettings.hiddenNetworkIds = networkIds; + return this; + } + public NativeScanSettingsBuilder addBucketWithBand( int period, int reportEvents, int band) { WifiNative.BucketSettings bucket = new WifiNative.BucketSettings(); diff --git a/tests/wifitests/src/com/android/server/wifi/SupplicantWifiScannerTest.java b/tests/wifitests/src/com/android/server/wifi/SupplicantWifiScannerTest.java index 16f169ade..72e9da5ec 100644 --- a/tests/wifitests/src/com/android/server/wifi/SupplicantWifiScannerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/SupplicantWifiScannerTest.java @@ -40,6 +40,7 @@ import org.mockito.InOrder; import java.lang.reflect.Field; import java.util.ArrayList; +import java.util.HashSet; import java.util.Set; /** @@ -337,7 +338,7 @@ public class SupplicantWifiScannerTest extends BaseWifiScannerImplTest { assertEquals("alarm for next period", 1, mAlarmManager.getPendingCount()); expectFailedScanStart(order, eventHandler, - expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), null); + expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), new HashSet<Integer>()); // Fire alarm to start next scan dispatchOnlyAlarm(); @@ -345,7 +346,7 @@ public class SupplicantWifiScannerTest extends BaseWifiScannerImplTest { assertEquals("alarm for next period", 1, mAlarmManager.getPendingCount()); expectFailedScanStart(order, eventHandler, - expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), null); + expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), new HashSet<Integer>()); verifyNoMoreInteractions(eventHandler); } @@ -372,7 +373,7 @@ public class SupplicantWifiScannerTest extends BaseWifiScannerImplTest { assertEquals("alarm for next period", 1, mAlarmManager.getPendingCount()); expectFailedEventScan(order, eventHandler, - expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), null); + expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), new HashSet<Integer>()); // Fire alarm to start next scan dispatchOnlyAlarm(); @@ -380,7 +381,7 @@ public class SupplicantWifiScannerTest extends BaseWifiScannerImplTest { assertEquals("alarm for next period", 1, mAlarmManager.getPendingCount()); expectFailedEventScan(order, eventHandler, - expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), null); + expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ), new HashSet<Integer>()); verifyNoMoreInteractions(eventHandler); } @@ -629,7 +630,7 @@ public class SupplicantWifiScannerTest extends BaseWifiScannerImplTest { } } expectSuccessfulBackgroundScan(order, eventHandler, period.getScanFreqs(), - nativeResults, scanDatas, fullResults, periodId); + new HashSet<Integer>(), nativeResults, scanDatas, fullResults, periodId); } /** @@ -638,10 +639,11 @@ public class SupplicantWifiScannerTest extends BaseWifiScannerImplTest { */ private void expectSuccessfulBackgroundScan(InOrder order, WifiNative.ScanEventHandler eventHandler, Set<Integer> scanFreqs, - ArrayList<ScanDetail> nativeResults, WifiScanner.ScanData[] expectedScanResults, + Set<Integer> networkIds, ArrayList<ScanDetail> nativeResults, + WifiScanner.ScanData[] expectedScanResults, ScanResult[] fullResults, int periodId) { // Verify scan started - order.verify(mWifiNative).scan(eq(scanFreqs), any(Set.class)); + order.verify(mWifiNative).scan(eq(scanFreqs), eq(networkIds)); // Setup scan results when(mWifiNative.getScanResults()).thenReturn(nativeResults); |