diff options
author | Glen Kuhne <kuh@google.com> | 2016-03-25 20:11:28 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-03-25 20:11:29 +0000 |
commit | b9cc92f3325f8bb08bf7eb1e1fd25d40cfe43604 (patch) | |
tree | 3afe7bc0b8abb71a578f027bb94b2274753b0d64 /tests | |
parent | 20047f18a7cccdc279d480916308f612c5cbb63e (diff) | |
parent | c2c2648141e6190d85601ee8a6a1d0034e7ff927 (diff) |
Merge "Add scanning into WifiMetrics" into nyc-dev
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java | 80 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiScanningServiceTest.java | 18 |
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); } /** |