summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEtan Cohen <etancohen@google.com>2017-07-01 02:27:44 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-07-01 02:27:44 +0000
commit40828b4273f3d33a0a731a9348afc15650f9071f (patch)
treea703e2fb9caa342e69f680d311e541941de0d019 /tests
parent541112a663292bb91edd203c0a9d49ec3b4e1d60 (diff)
parentce6c2369142d74281cf6c1a929b12f69b259b4e0 (diff)
Merge "[AWARE] Metrics for Aware enable/disable cycle" into oc-dr1-dev am: 2f09c3602b
am: ce6c236914 Change-Id: Ic064013cec67867b43f80f829162862569be7afb
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/aware/WifiAwareMetricsTest.java61
-rw-r--r--tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java2
2 files changed, 63 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareMetricsTest.java
index 3cfb78f79..470a1de3d 100644
--- a/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareMetricsTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareMetricsTest.java
@@ -149,6 +149,67 @@ public class WifiAwareMetricsTest {
equalTo(0));
}
+ /**
+ * Validates that recordEnableAware() and recordDisableAware() record valid metrics.
+ */
+ @Test
+ public void testEnableDisableAwareMetrics() {
+ WifiMetricsProto.WifiAwareLog log;
+
+ // create 2 records
+ setTime(5);
+ mDut.recordEnableAware();
+ setTime(10);
+ mDut.recordDisableAware();
+ setTime(11);
+ mDut.recordEnableAware();
+ setTime(12);
+ mDut.recordDisableAware();
+
+ setTime(14);
+ log = mDut.consolidateProto();
+ collector.checkThat(countAllHistogramSamples(log.histogramAwareEnabledDurationMs),
+ equalTo(2));
+ validateProtoHistBucket("Duration[0] #1", log.histogramAwareEnabledDurationMs[0], 1, 2,
+ 1);
+ validateProtoHistBucket("Duration[1] #1", log.histogramAwareEnabledDurationMs[1], 5, 6,
+ 1);
+ collector.checkThat(log.enabledTimeMs, equalTo(6L));
+
+ // create another partial record
+ setTime(15);
+ mDut.recordEnableAware();
+
+ setTime(17);
+ log = mDut.consolidateProto();
+ collector.checkThat(countAllHistogramSamples(log.histogramAwareEnabledDurationMs),
+ equalTo(2));
+ validateProtoHistBucket("Duration[0] #2", log.histogramAwareEnabledDurationMs[0], 1, 2,
+ 1);
+ validateProtoHistBucket("Duration[1] #2", log.histogramAwareEnabledDurationMs[1], 5, 6,
+ 1);
+ collector.checkThat(log.enabledTimeMs, equalTo(8L)); // the partial record of 2ms
+
+
+ // clear and continue that partial record (verify completed)
+ mDut.clear();
+ setTime(23);
+ mDut.recordDisableAware();
+
+ log = mDut.consolidateProto();
+ collector.checkThat(countAllHistogramSamples(log.histogramAwareEnabledDurationMs),
+ equalTo(1));
+ validateProtoHistBucket("Duration[0] #3", log.histogramAwareEnabledDurationMs[0], 8, 9,
+ 1);
+ collector.checkThat(log.enabledTimeMs, equalTo(6L)); // the remnant record of 6ms
+
+ // clear and verify empty records
+ mDut.clear();
+ log = mDut.consolidateProto();
+ collector.checkThat(countAllHistogramSamples(log.histogramAwareEnabledDurationMs),
+ equalTo(0));
+ }
+
@Test
public void testAttachSessionMetrics() {
final int uid1 = 1005;
diff --git a/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java b/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java
index 6d5a52933..3652e7b52 100644
--- a/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/aware/WifiAwareStateManagerTest.java
@@ -333,11 +333,13 @@ public class WifiAwareStateManagerTest {
collector.checkThat("usage disabled", mDut.isUsageEnabled(), equalTo(false));
inOrder.verify(mMockNative).disable(transactionId.capture());
inOrderM.verify(mAwareMetricsMock).recordAttachSessionDuration(anyLong());
+ inOrderM.verify(mAwareMetricsMock).recordDisableAware();
inOrderM.verify(mAwareMetricsMock).recordDisableUsage();
validateCorrectAwareStatusChangeBroadcast(inOrder, false);
validateInternalClientInfoCleanedUp(clientId);
mDut.onDisableResponse(transactionId.getValue(), NanStatusType.SUCCESS);
mMockLooper.dispatchAll();
+ inOrderM.verify(mAwareMetricsMock).recordDisableAware();
// (4) try connecting again and validate that get a failure
mDut.connect(clientId, uid, pid, callingPackage, mockCallback, configRequest, false);