From 25e47b174791295416f5db516862a5b00204080a Mon Sep 17 00:00:00 2001 From: Peng Xu Date: Fri, 18 Aug 2017 17:50:57 -0700 Subject: [PATCH] Fix flakiness of sensor VTS test cases * Correction of testBatchingOperation wait logic. * Enlarge buffer size for direct report testing. Original cl links: ag/3053316 and ag/2759224 Bug: 64732324 Bug: 63529148 Bug: 67439052 Test: testBatchingOperation passes consistently Test: direct report tests pass on 2016 pixel device Merged-In: Id4e8075e249f3658f5683d53d6dc8403ee32bc4a Merged-In: Ibe1d076c24dc2cfe61dfd19aa5055c9075aa9e14 Change-Id: Id4e8075e249f3658f5683d53d6dc8403ee32bc4a --- .../functional/VtsHalSensorsV1_0TargetTest.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp b/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp index 2cf4ef9cd4..51d7645de3 100644 --- a/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp +++ b/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp @@ -1180,16 +1180,17 @@ void SensorsHidlTest::testBatchingOperation(SensorType type) { usleep(batchingPeriodInNs / 1000 * 8 / 10); SensorsHidlEnvironment::Instance()->setCollection(true); - // 0.8 + 0.3 times the batching period - // plus some time for the event to deliver - events = collectEvents( - batchingPeriodInNs / 1000 * 3 / 10, - minFifoCount, true /*clearBeforeStart*/, false /*change collection*/); + // clean existing collections + collectEvents(0 /*timeLimitUs*/, 0/*nEventLimit*/, + true /*clearBeforeStart*/, false /*change collection*/); + // 0.8 + 0.2 times the batching period + usleep(batchingPeriodInNs / 1000 * 8 / 10); ASSERT_EQ(flush(handle), Result::OK); + // plus some time for the event to deliver events = collectEvents(allowedBatchDeliverTimeNs / 1000, - minFifoCount, true /*clearBeforeStart*/, false /*change collection*/); + minFifoCount, false /*clearBeforeStart*/, false /*change collection*/); SensorsHidlEnvironment::Instance()->setCollection(false); ASSERT_EQ(activate(handle, 0), Result::OK); @@ -1202,7 +1203,7 @@ void SensorsHidlTest::testBatchingOperation(SensorType type) { } // at least reach 90% of advertised capacity - ASSERT_GT(nEvent, (size_t)(batchingPeriodInNs / minSamplingPeriodInNs * 9 / 10)); + ASSERT_GT(nEvent, (size_t)(minFifoCount * 9 / 10)); } // Test if sensor hal can do accelerometer batching properly @@ -1223,7 +1224,7 @@ TEST_F(SensorsHidlTest, MagnetometerBatchingOperation) { void SensorsHidlTest::testDirectReportOperation( SensorType type, SharedMemType memType, RateLevel rate, const SensorEventsChecker &checker) { constexpr size_t kEventSize = static_cast(SensorsEventFormatOffset::TOTAL_LENGTH); - constexpr size_t kNEvent = 500; + constexpr size_t kNEvent = 4096; constexpr size_t kMemSize = kEventSize * kNEvent; constexpr float kNormalNominal = 50;