summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGlen Kuhne <kuh@google.com>2016-03-25 20:11:28 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-03-25 20:11:29 +0000
commitb9cc92f3325f8bb08bf7eb1e1fd25d40cfe43604 (patch)
tree3afe7bc0b8abb71a578f027bb94b2274753b0d64 /tests
parent20047f18a7cccdc279d480916308f612c5cbb63e (diff)
parentc2c2648141e6190d85601ee8a6a1d0034e7ff927 (diff)
Merge "Add scanning into WifiMetrics" into nyc-dev
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java80
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiScanningServiceTest.java18
2 files changed, 85 insertions, 13 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
index 99ef59af1..b4f16d2a5 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
@@ -133,7 +133,15 @@ public class WifiMetricsTest {
private static final int NUM_NEWTORKS_ADDED_BY_APPS = 17;
private static final int NUM_EMPTY_SCAN_RESULTS = 19;
private static final int NUM_NON_EMPTY_SCAN_RESULTS = 23;
- private static final int NUM_INCREMENTS = 10;
+ private static final int NUM_SCAN_UNKNOWN = 1;
+ private static final int NUM_SCAN_SUCCESS = 2;
+ private static final int NUM_SCAN_FAILURE_INTERRUPTED = 3;
+ private static final int NUM_SCAN_FAILURE_INVALID_CONFIGURATION = 5;
+ private static final int NUM_WIFI_UNKNOWN_SCREEN_OFF = 3;
+ private static final int NUM_WIFI_UNKNOWN_SCREEN_ON = 5;
+ private static final int NUM_WIFI_ASSOCIATED_SCREEN_OFF = 7;
+ private static final int NUM_WIFI_ASSOCIATED_SCREEN_ON = 11;
+
/**
* Set simple metrics, increment others
@@ -154,22 +162,29 @@ public class WifiMetricsTest {
for (int i = 0; i < NUM_NON_EMPTY_SCAN_RESULTS; i++) {
mWifiMetrics.incrementNonEmptyScanResultCount();
}
-
- //Test incrementing counts
- for (int i = 0; i < NUM_INCREMENTS; i++) {
-
- mWifiMetrics.incrementScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_UNKNOWN);
- mWifiMetrics.incrementScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_SUCCESS);
- mWifiMetrics.incrementScanReturnEntry(
- WifiMetricsProto.WifiLog.SCAN_FAILURE_INTERRUPTED);
- mWifiMetrics.incrementScanReturnEntry(
- WifiMetricsProto.WifiLog.SCAN_FAILURE_INVALID_CONFIGURATION);
+ mWifiMetrics.incrementScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_UNKNOWN,
+ NUM_SCAN_UNKNOWN);
+ mWifiMetrics.incrementScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_SUCCESS,
+ NUM_SCAN_SUCCESS);
+ mWifiMetrics.incrementScanReturnEntry(
+ WifiMetricsProto.WifiLog.SCAN_FAILURE_INTERRUPTED,
+ NUM_SCAN_FAILURE_INTERRUPTED);
+ mWifiMetrics.incrementScanReturnEntry(
+ WifiMetricsProto.WifiLog.SCAN_FAILURE_INVALID_CONFIGURATION,
+ NUM_SCAN_FAILURE_INVALID_CONFIGURATION);
+ for (int i = 0; i < NUM_WIFI_UNKNOWN_SCREEN_OFF; i++) {
mWifiMetrics.incrementWifiSystemScanStateCount(WifiMetricsProto.WifiLog.WIFI_UNKNOWN,
false);
+ }
+ for (int i = 0; i < NUM_WIFI_UNKNOWN_SCREEN_ON; i++) {
mWifiMetrics.incrementWifiSystemScanStateCount(WifiMetricsProto.WifiLog.WIFI_UNKNOWN,
true);
+ }
+ for (int i = 0; i < NUM_WIFI_ASSOCIATED_SCREEN_OFF; i++) {
mWifiMetrics.incrementWifiSystemScanStateCount(WifiMetricsProto.WifiLog.WIFI_ASSOCIATED,
false);
+ }
+ for (int i = 0; i < NUM_WIFI_ASSOCIATED_SCREEN_ON; i++) {
mWifiMetrics.incrementWifiSystemScanStateCount(WifiMetricsProto.WifiLog.WIFI_ASSOCIATED,
true);
}
@@ -204,9 +219,52 @@ public class WifiMetricsTest {
assertEquals("mDeserializedWifiMetrics.numNonEmptyScanResults == "
+ "NUM_NON_EMPTY_SCAN_RESULTS",
mDeserializedWifiMetrics.numNonEmptyScanResults, NUM_NON_EMPTY_SCAN_RESULTS);
+ assertScanReturnEntryEquals(WifiMetricsProto.WifiLog.SCAN_UNKNOWN,
+ NUM_SCAN_UNKNOWN);
+ assertScanReturnEntryEquals(WifiMetricsProto.WifiLog.SCAN_SUCCESS,
+ NUM_SCAN_SUCCESS);
+ assertScanReturnEntryEquals(WifiMetricsProto.WifiLog.SCAN_FAILURE_INTERRUPTED,
+ NUM_SCAN_FAILURE_INTERRUPTED);
+ assertScanReturnEntryEquals(WifiMetricsProto.WifiLog.SCAN_FAILURE_INVALID_CONFIGURATION,
+ NUM_SCAN_FAILURE_INVALID_CONFIGURATION);
+ assertSystemStateEntryEquals(WifiMetricsProto.WifiLog.WIFI_UNKNOWN, false,
+ NUM_WIFI_UNKNOWN_SCREEN_OFF);
+ assertSystemStateEntryEquals(WifiMetricsProto.WifiLog.WIFI_UNKNOWN, true,
+ NUM_WIFI_UNKNOWN_SCREEN_ON);
+ assertSystemStateEntryEquals(
+ WifiMetricsProto.WifiLog.WIFI_ASSOCIATED, false, NUM_WIFI_ASSOCIATED_SCREEN_OFF);
+ assertSystemStateEntryEquals(WifiMetricsProto.WifiLog.WIFI_ASSOCIATED, true,
+ NUM_WIFI_ASSOCIATED_SCREEN_ON);
}
/**
+ * Assert deserialized metrics Scan Return Entry equals count
+ */
+ public void assertScanReturnEntryEquals(int returnCode, int count) {
+ for (int i = 0; i < mDeserializedWifiMetrics.scanReturnEntries.length; i++) {
+ if (mDeserializedWifiMetrics.scanReturnEntries[i].scanReturnCode == returnCode) {
+ assertEquals(mDeserializedWifiMetrics.scanReturnEntries[i].scanResultsCount, count);
+ return;
+ }
+ }
+ assertEquals(null, count);
+ }
+
+ /**
+ * Assert deserialized metrics SystemState entry equals count
+ */
+ public void assertSystemStateEntryEquals(int state, boolean screenOn, int count) {
+ for (int i = 0; i < mDeserializedWifiMetrics.wifiSystemStateEntries.length; i++) {
+ if (mDeserializedWifiMetrics.wifiSystemStateEntries[i].wifiState == state
+ && mDeserializedWifiMetrics.wifiSystemStateEntries[i].isScreenOn == screenOn) {
+ assertEquals(mDeserializedWifiMetrics.wifiSystemStateEntries[i].wifiStateCount,
+ count);
+ return;
+ }
+ }
+ assertEquals(null, count);
+ }
+ /**
* Combination of all other WifiMetrics unit tests, an internal-integration test, or functional
* test
*/
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiScanningServiceTest.java b/tests/wifitests/src/com/android/server/wifi/WifiScanningServiceTest.java
index 7d6982238..88733d0c5 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiScanningServiceTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiScanningServiceTest.java
@@ -75,9 +75,12 @@ public class WifiScanningServiceTest {
@Mock WifiScannerImpl mWifiScannerImpl;
@Mock WifiScannerImpl.WifiScannerImplFactory mWifiScannerImplFactory;
@Mock IBatteryStats mBatteryStats;
+ @Mock WifiInjector mWifiInjector;
+ WifiMetrics mWifiMetrics;
MockLooper mLooper;
WifiScanningServiceImpl mWifiScanningServiceImpl;
+
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
@@ -85,6 +88,7 @@ public class WifiScanningServiceTest {
mAlarmManager = new MockAlarmManager();
when(mContext.getSystemService(Context.ALARM_SERVICE))
.thenReturn(mAlarmManager.getAlarmManager());
+ mWifiMetrics = new WifiMetrics();
ChannelHelper channelHelper = new PresetKnownBandsChannelHelper(
new int[]{2400, 2450},
@@ -95,8 +99,9 @@ public class WifiScanningServiceTest {
when(mWifiScannerImplFactory.create(any(Context.class), any(Looper.class)))
.thenReturn(mWifiScannerImpl);
when(mWifiScannerImpl.getChannelHelper()).thenReturn(channelHelper);
+ when(mWifiInjector.getWifiMetrics()).thenReturn(mWifiMetrics);
mWifiScanningServiceImpl = new WifiScanningServiceImpl(mContext, mLooper.getLooper(),
- mWifiScannerImplFactory, mBatteryStats);
+ mWifiScannerImplFactory, mBatteryStats, mWifiInjector);
}
@After
@@ -389,6 +394,9 @@ public class WifiScanningServiceTest {
assertSuccessfulResponse(requestId, messageCaptor.getAllValues().get(0));
assertFailedResponse(requestId, WifiScanner.REASON_UNSPECIFIED,
"Failed to start single scan", messageCaptor.getAllValues().get(1));
+
+ assertEquals(mWifiMetrics.getOneshotScanCount(), 1);
+ assertEquals(mWifiMetrics.getScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_UNKNOWN), 1);
}
/**
@@ -424,6 +432,8 @@ public class WifiScanningServiceTest {
mLooper.dispatchAll();
verifyFailedResponse(order, handler, requestId,
WifiScanner.REASON_UNSPECIFIED, "Scan failed");
+ assertEquals(mWifiMetrics.getOneshotScanCount(), 1);
+ assertEquals(mWifiMetrics.getScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_UNKNOWN), 1);
}
// TODO Add more single scan tests
@@ -552,10 +562,11 @@ public class WifiScanningServiceTest {
mLooper.dispatchAll();
verifyScanResultsRecieved(handlerOrder, handler, requestId2, results2.getScanData());
verifySingleScanCompletedRecieved(handlerOrder, handler, requestId2);
+ assertEquals(mWifiMetrics.getOneshotScanCount(), 2);
+ assertEquals(mWifiMetrics.getScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_SUCCESS), 2);
}
-
/**
* Send a single scan request and then two more before the first completes.
* Verify that the first completes and the second two are merged.
@@ -656,6 +667,8 @@ public class WifiScanningServiceTest {
messageCaptor.getAllValues().get(2));
assertSingleScanCompletedMessage(requestId2, messageCaptor.getAllValues().get(3));
}
+ assertEquals(mWifiMetrics.getOneshotScanCount(), 3);
+ assertEquals(mWifiMetrics.getScanReturnEntry(WifiMetricsProto.WifiLog.SCAN_SUCCESS), 3);
}
private void doSuccessfulBackgroundScan(WifiScanner.ScanSettings requestSettings,
@@ -691,6 +704,7 @@ public class WifiScanningServiceTest {
WifiScanner.WIFI_BAND_BOTH)
.build();
doSuccessfulBackgroundScan(requestSettings, nativeSettings);
+ assertEquals(mWifiMetrics.getBackgroundScanCount(), 1);
}
/**