summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
diff options
context:
space:
mode:
authorMichael Plass <mplass@google.com>2017-06-05 16:46:44 -0700
committerMichael Plass <mplass@google.com>2017-06-14 20:43:35 +0000
commit279abf6c5af5d42f6deb8e8738c7f030521976ef (patch)
tree410ef868295fa1a2ca6d24a3eeb410f79003e3cc /tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
parente802d02eb96d3cbe774110c432f957976deb92b3 (diff)
downloadandroid_frameworks_opt_net_wifi-279abf6c5af5d42f6deb8e8738c7f030521976ef.tar.gz
android_frameworks_opt_net_wifi-279abf6c5af5d42f6deb8e8738c7f030521976ef.tar.bz2
android_frameworks_opt_net_wifi-279abf6c5af5d42f6deb8e8738c7f030521976ef.zip
[WifiScoreReport] Add dumpsys for scoring data
Add a dumpsys handler to capture the data used for calculating wifi scores. The logged data is limited to about 12 hours, to conserve memory. Timestamp formatting is consistent with (most) of the other timestamps used in bugreports. Bug: 62448744 Test: manual, new unit tests Change-Id: Iba3f3dc4911e7939a5afacb5902f425415bbc5f0
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java46
1 files changed, 45 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java b/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
index 1f5927d95..24d3afa18 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
@@ -17,8 +17,10 @@
package com.android.server.wifi;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.atMost;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -36,6 +38,7 @@ import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import java.io.PrintWriter;
import java.util.Arrays;
/**
@@ -55,6 +58,7 @@ public class WifiScoreReportTest {
@Mock Resources mResources;
@Mock WifiConfigManager mWifiConfigManager;
@Mock WifiMetrics mWifiMetrics;
+ @Mock PrintWriter mPrintWriter;
/**
* Sets up resource values for testing
@@ -118,7 +122,7 @@ public class WifiScoreReportTest {
when(mWifiConfigManager.getScanDetailCacheForNetwork(anyInt()))
.thenReturn(mScanDetailCache);
when(mContext.getResources()).thenReturn(mResources);
- mWifiScoreReport = new WifiScoreReport(mContext, mWifiConfigManager);
+ mWifiScoreReport = new WifiScoreReport(mContext, mWifiConfigManager, new Clock());
}
/**
@@ -243,4 +247,44 @@ public class WifiScoreReportTest {
assertTrue(score > CELLULAR_THRESHOLD_SCORE);
}
+ /**
+ * Test data logging
+ */
+ @Test
+ public void testDataLogging() throws Exception {
+ mAggr = 1;
+ for (int i = 0; i < 10; i++) {
+ mWifiInfo.setRssi(-65 + i);
+ mWifiInfo.setLinkSpeed(300);
+ mWifiInfo.setFrequency(5220);
+ mWifiInfo.txSuccessRate = 0.1 + i;
+ mWifiInfo.txRetriesRate = 0.2 + i;
+ mWifiInfo.txBadRate = 0.01 * i;
+ mWifiInfo.rxSuccessRate = 0.3 + i;
+ mWifiScoreReport.calculateAndReportScore(mWifiInfo, mNetworkAgent, mAggr, mWifiMetrics);
+ }
+ mWifiScoreReport.dump(null, mPrintWriter, null);
+ verify(mPrintWriter, atLeast(11)).println(anyString());
+ }
+
+ /**
+ * Test data logging limit
+ * <p>
+ * Check that only a bounded amount of data is collected for dumpsys report
+ */
+ @Test
+ public void testDataLoggingLimit() throws Exception {
+ for (int i = 0; i < 14500; i++) {
+ mWifiInfo.setRssi(-65 + i % 20);
+ mWifiInfo.setLinkSpeed(300);
+ mWifiInfo.setFrequency(5220);
+ mWifiInfo.txSuccessRate = 0.1 + i % 100;
+ mWifiInfo.txRetriesRate = 0.2 + i % 100;
+ mWifiInfo.txBadRate = 0.0001 * i;
+ mWifiInfo.rxSuccessRate = 0.3 + i % 200;
+ mWifiScoreReport.calculateAndReportScore(mWifiInfo, mNetworkAgent, mAggr, mWifiMetrics);
+ }
+ mWifiScoreReport.dump(null, mPrintWriter, null);
+ verify(mPrintWriter, atMost(14401)).println(anyString());
+ }
}