summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Stefano Cianciulli <scianciulli@google.com> 2023-09-15 16:22:35 +0000
committer Stefano Cianciulli <scianciulli@google.com> 2023-09-18 14:39:35 +0000
commit5b8016bb2cf66eec622ccfbb5e9fcaf49a14feb8 (patch)
treed8149b96433ae01d1595726f884bbc6757791739
parentb4c90ec2fd50b620dd944ba5e5d1fbce6cbfcb1b (diff)
Change assertions for TimeElapsedDelta in metrics_test.cc
TimeElapsedDelta is a metric that keeps track of the time elapsed (in milliseconds) since the last metrics report, which means it's almost always guaranteed to have a value bigger than 0 between two subsequent reports as in the case of MetricsTest.ResetMetrics and MetricsTest.KeepEventMetricsResetValueMetricsAfterReporting (unless the tests manage to run in less that 1ms each). Changing the assertion only for this particular metric fixes the intermittent failure experienced by these two tests during CI. Bug: 300070371 Test: art/test/testrunner/run_build_test_target.py -j80 art-gtest-ss-gc Change-Id: I1476f837ec26b5f79028b24445c4677f12b68891
-rw-r--r--libartbase/base/metrics/metrics_test.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/libartbase/base/metrics/metrics_test.cc b/libartbase/base/metrics/metrics_test.cc
index 2eefa02ca5..f123530bd5 100644
--- a/libartbase/base/metrics/metrics_test.cc
+++ b/libartbase/base/metrics/metrics_test.cc
@@ -297,7 +297,12 @@ TEST_F(MetricsTest, ResetMetrics) {
class ZeroBackend : public TestBackendBase {
public:
void ReportCounter(DatumId counter_type, uint64_t value) override {
- EXPECT_EQ(value, 0u) << "Unexpected value for counter " << DatumName(counter_type);
+ if (counter_type == DatumId::kTimeElapsedDelta) {
+ // TimeElapsedData can be greater than 0 if the test takes more than 1ms to run
+ EXPECT_GE(value, 0u) << "Unexpected value for counter " << DatumName(counter_type);
+ } else {
+ EXPECT_EQ(value, 0u) << "Unexpected value for counter " << DatumName(counter_type);
+ }
}
void ReportHistogram([[maybe_unused]] DatumId histogram_type,
@@ -352,7 +357,12 @@ TEST_F(MetricsTest, KeepEventMetricsResetValueMetricsAfterReporting) {
#define CHECK_METRIC(name, ...) case DatumId::k##name:
ART_VALUE_METRICS(CHECK_METRIC)
#undef CHECK_METRIC
- EXPECT_EQ(value, 0u) << "Unexpected value for metric " << DatumName(datum_id);
+ if (datum_id == DatumId::kTimeElapsedDelta) {
+ // TimeElapsedData can be greater than 0 if the test takes more than 1ms to run
+ EXPECT_GE(value, 0u) << "Unexpected value for counter " << DatumName(datum_id);
+ } else {
+ EXPECT_EQ(value, 0u) << "Unexpected value for counter " << DatumName(datum_id);
+ }
return;
// Event metrics - expected to have retained their previous value