Chronologically sort ConfigMetricsReports.
Bug: 138408738
Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t
android.cts.statsd.metric.MetricActivationTests
Change-Id: I1b2a1fcc27a9fd8982ab2f679879853734f0f644
diff --git a/hostsidetests/statsd/src/android/cts/statsd/atom/AtomTestCase.java b/hostsidetests/statsd/src/android/cts/statsd/atom/AtomTestCase.java
index f38bf33..5b5711c 100644
--- a/hostsidetests/statsd/src/android/cts/statsd/atom/AtomTestCase.java
+++ b/hostsidetests/statsd/src/android/cts/statsd/atom/AtomTestCase.java
@@ -66,6 +66,7 @@
import java.util.List;
import java.util.Set;
import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* Base class for testing Statsd atoms.
@@ -239,6 +240,16 @@
}
/**
+ * Gets a List of sorted ConfigMetricsReports from ConfigMetricsReportList.
+ */
+ protected List<ConfigMetricsReport> getSortedConfigMetricsReports(
+ ConfigMetricsReportList configMetricsReportList) {
+ return configMetricsReportList.getReportsList().stream()
+ .sorted(Comparator.comparing(ConfigMetricsReport::getCurrentReportWallClockNanos))
+ .collect(Collectors.toList());
+ }
+
+ /**
* Extracts and sorts the EventMetricData from the given ConfigMetricsReportList (which must
* contain a single report).
*/
diff --git a/hostsidetests/statsd/src/android/cts/statsd/metric/MetricActivationTests.java b/hostsidetests/statsd/src/android/cts/statsd/metric/MetricActivationTests.java
index fc069b1..803dd2e 100644
--- a/hostsidetests/statsd/src/android/cts/statsd/metric/MetricActivationTests.java
+++ b/hostsidetests/statsd/src/android/cts/statsd/metric/MetricActivationTests.java
@@ -32,6 +32,8 @@
import com.android.os.StatsLog.StatsLogReport;
import com.android.tradefed.log.LogUtil;
+import java.util.List;
+
/**
* Test Statsd Metric activations and deactivations
*/
@@ -226,8 +228,8 @@
Thread.sleep(10L);
ConfigMetricsReportList reportList = getReportList();
- assertEquals(1, reportList.getReportsCount());
- ConfigMetricsReport report = reportList.getReports(0);
+ List<ConfigMetricsReport> reports = getSortedConfigMetricsReports(reportList);
+ ConfigMetricsReport report = reports.get(0);
verifyMetrics(report, 4, 0, 1);
}
@@ -371,18 +373,19 @@
logAllMetrics();
ConfigMetricsReportList reportList = getReportList();
- assertEquals(3, reportList.getReportsCount());
+ List<ConfigMetricsReport> reports = getSortedConfigMetricsReports(reportList);
+ assertEquals(3, reports.size());
// Report before restart.
- ConfigMetricsReport report = reportList.getReports(0);
+ ConfigMetricsReport report = reports.get(0);
verifyMetrics(report, 1, 0, 1);
// Report after first restart.
- report = reportList.getReports(1);
+ report = reports.get(1);
verifyMetrics(report, 2, 3, 4);
// Report after second restart.
- report = reportList.getReports(2);
+ report = reports.get(2);
verifyMetrics(report, 2, 2, 3);
}
@@ -506,18 +509,19 @@
logAllMetrics();
ConfigMetricsReportList reportList = getReportList();
- assertEquals(3, reportList.getReportsCount());
+ List<ConfigMetricsReport> reports = getSortedConfigMetricsReports(reportList);
+ assertEquals(3, reports.size());
// Report before restart.
- ConfigMetricsReport report = reportList.getReports(0);
+ ConfigMetricsReport report = reports.get(0);
verifyMetrics(report, 3, 0, 3);
// Report after first restart.
- report = reportList.getReports(1);
+ report = reports.get(1);
verifyMetrics(report, 2, 2, 3);
// Report after second restart.
- report = reportList.getReports(2);
+ report = reports.get(2);
verifyMetrics(report, 0, 0, 1);
}