diff options
author | Vova Sharaienko <sharaienko@google.com> | 2024-03-26 16:58:07 +0000 |
---|---|---|
committer | Vova Sharaienko <sharaienko@google.com> | 2024-03-26 16:58:07 +0000 |
commit | a60a3e63ba6bf3b2ded48551fa99004f49b10298 (patch) | |
tree | f148c7cf6dc2ea7280e65e46f8fe33dbc01096bf | |
parent | c0d20b1b01b80ea19153cc66b3c3351e6d1692d3 (diff) | |
download | StatsD-a60a3e63ba6bf3b2ded48551fa99004f49b10298.tar.gz |
[statsd] Updated StatsBufferWriterQueueTest#TestSleepOnOverflow
- added queue drain before test completion
Bug: 329917131
Test: atest StatsBufferWriterQueueTest#TestSleepOnOverflow --rerun-until-failure 200
Change-Id: I84bca642de527ceddb0abc873aba3796bb720981
-rw-r--r-- | lib/libstatssocket/tests/stats_buffer_writer_queue_test.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/libstatssocket/tests/stats_buffer_writer_queue_test.cpp b/lib/libstatssocket/tests/stats_buffer_writer_queue_test.cpp index eff4cfe6..008009bf 100644 --- a/lib/libstatssocket/tests/stats_buffer_writer_queue_test.cpp +++ b/lib/libstatssocket/tests/stats_buffer_writer_queue_test.cpp @@ -29,7 +29,9 @@ using testing::DoAll; using testing::Return; using testing::StrictMock; -constexpr static int WAIT_MS = 200; +namespace { + +constexpr static int WAIT_MS = 100; static AStatsEvent* generateTestEvent() { AStatsEvent* event = AStatsEvent_obtain(); @@ -47,6 +49,8 @@ public: typedef StrictMock<BasicBufferWriterQueueMock> BufferWriterQueueMock; +} // namespace + TEST(StatsBufferWriterQueueTest, TestWriteSuccess) { AStatsEvent* event = generateTestEvent(); @@ -65,6 +69,9 @@ TEST(StatsBufferWriterQueueTest, TestWriteSuccess) { EXPECT_TRUE(addedToQueue); // to yeld to the queue worker thread std::this_thread::sleep_for(std::chrono::milliseconds(WAIT_MS)); + + queue.drainQueue(); + EXPECT_EQ(queue.getQueueSize(), 0); } TEST(StatsBufferWriterQueueTest, TestWriteOverflow) { @@ -90,6 +97,9 @@ TEST(StatsBufferWriterQueueTest, TestWriteOverflow) { EXPECT_FALSE(addedToQueue); EXPECT_EQ(queue.getQueueSize(), BufferWriterQueueMock::kQueueMaxSizeLimit); + + queue.drainQueue(); + EXPECT_EQ(queue.getQueueSize(), 0); } TEST(StatsBufferWriterQueueTest, TestSleepOnOverflow) { @@ -122,10 +132,13 @@ TEST(StatsBufferWriterQueueTest, TestSleepOnOverflow) { EXPECT_TRUE(addedToQueue); } AStatsEvent_release(event); - // to yeld to the queue worker thread std::this_thread::sleep_for(std::chrono::milliseconds(WAIT_MS)); + // to eliminate extra commands handling on the worker thread + queue.drainQueue(); + EXPECT_EQ(queue.getQueueSize(), 0); + EXPECT_GE(attemptsTs.size(), 2); for (int i = 0; i < attemptsTs.size() - 1; i++) { EXPECT_GE(attemptsTs[i + 1] - attemptsTs[i], |