diff options
author | 2023-09-15 16:22:35 +0000 | |
---|---|---|
committer | 2023-09-18 14:39:35 +0000 | |
commit | 5b8016bb2cf66eec622ccfbb5e9fcaf49a14feb8 (patch) | |
tree | d8149b96433ae01d1595726f884bbc6757791739 | |
parent | b4c90ec2fd50b620dd944ba5e5d1fbce6cbfcb1b (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.cc | 14 |
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 |