summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/BaseWifiScannerImplTest.java38
-rw-r--r--tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java10
-rw-r--r--tests/wifitests/src/com/android/server/wifi/SupplicantWifiScannerTest.java16
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);