summaryrefslogtreecommitdiff
path: root/tests/src/android
diff options
context:
space:
mode:
authorVova Sharaienko <sharaienko@google.com>2023-11-04 03:49:14 +0000
committerVova Sharaienko <sharaienko@google.com>2023-12-01 21:46:09 +0000
commitbccdadfd8aca4f855a7b8a912cad4d05f28f2516 (patch)
treedf12695184cc5ff7bec6f8739774f18823067794 /tests/src/android
parenta1bc6a249f8a2db878ff42aaffc6f37c5e2ceef4 (diff)
downloadStatsD-bccdadfd8aca4f855a7b8a912cad4d05f28f2516.tar.gz
[statsd] Added socket loss stats dump to proto
- added tests for Statsd libstatssocket loss stats Bug: 296900300 Test: atest android.cts.statsd.metadata.MetadataTests Change-Id: Id7f8548d35819bd7c73c73b4e69a242616eaa808
Diffstat (limited to 'tests/src/android')
-rw-r--r--tests/src/android/cts/statsd/metadata/MetadataTests.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/src/android/cts/statsd/metadata/MetadataTests.java b/tests/src/android/cts/statsd/metadata/MetadataTests.java
index 6d834043..f912e81e 100644
--- a/tests/src/android/cts/statsd/metadata/MetadataTests.java
+++ b/tests/src/android/cts/statsd/metadata/MetadataTests.java
@@ -24,7 +24,11 @@ import com.android.os.AtomsProto.Atom;
import com.android.os.StatsLog.StatsdStatsReport;
import com.android.os.StatsLog.StatsdStatsReport.ConfigStats;
import com.android.os.StatsLog.StatsdStatsReport.LogLossStats;
+import com.android.os.StatsLog.StatsdStatsReport.SocketLossStats;
+import com.android.os.StatsLog.StatsdStatsReport.SocketLossStats.LossStatsPerUid;
+import com.android.os.StatsLog.StatsdStatsReport.SocketLossStats.LossStatsPerUid.AtomIdLossStats;
import com.android.tradefed.log.LogUtil;
+import java.util.HashSet;
/**
* Statsd Metadata tests.
@@ -155,6 +159,51 @@ public class MetadataTests extends MetadataTestCase {
assertThat(detectedLossEventForAppBreadcrumbAtom).isTrue();
assertThat(detectedLossEventForSystemServer).isFalse();
+
+ boolean detectedLossEventForAppBreadcrumbAtomViaSocketLossStats = false;
+ for (LossStatsPerUid lossStats : report.getSocketLossStats().getLossStatsPerUidList()) {
+ for (AtomIdLossStats atomLossStats : lossStats.getAtomIdLossStatsList()) {
+ if (atomLossStats.getAtomId() == Atom.APP_BREADCRUMB_REPORTED_FIELD_NUMBER) {
+ detectedLossEventForAppBreadcrumbAtomViaSocketLossStats = true;
+ }
+ }
+ }
+
+ assertThat(detectedLossEventForAppBreadcrumbAtomViaSocketLossStats).isTrue();
+ }
+ }
+
+ /** Test libstatssocket logging queue atom id distribution collection */
+ public void testAtomIdLossDistributionCollection() throws Exception {
+ if (!ApiLevelUtil.codenameEquals(getDevice(), "VanillaIceCream")) {
+ return;
+ }
+
+ final String appTestApk = "StatsdAtomStormApp.apk";
+ final String app2TestApk = "StatsdAtomStormApp2.apk";
+
+ final String appTestPkg = "com.android.statsd.app.atomstorm";
+ final String app2TestPkg = "com.android.statsd.app.atomstorm.copy";
+
+ getDevice().uninstallPackage(appTestPkg);
+ getDevice().uninstallPackage(app2TestPkg);
+ installPackage(appTestApk, true);
+ installPackage(app2TestApk, true);
+
+ // run reference test app with UID 1
+ runDeviceTests(appTestPkg, null, null);
+ // run reference test app with UID 2
+ runDeviceTests(app2TestPkg, null, null);
+
+ StatsdStatsReport report = getStatsdStatsReport();
+ assertThat(report).isNotNull();
+ HashSet<Integer> reportedUids = new HashSet<Integer>();
+ for (LossStatsPerUid lossStats : report.getSocketLossStats().getLossStatsPerUidList()) {
+ reportedUids.add(lossStats.getUid());
}
+ assertThat(reportedUids.size()).isGreaterThan(1);
+
+ getDevice().uninstallPackage(appTestPkg);
+ getDevice().uninstallPackage(app2TestPkg);
}
}