summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVova Sharaienko <sharaienko@google.com>2024-03-26 16:58:07 +0000
committerVova Sharaienko <sharaienko@google.com>2024-03-26 16:58:07 +0000
commita60a3e63ba6bf3b2ded48551fa99004f49b10298 (patch)
treef148c7cf6dc2ea7280e65e46f8fe33dbc01096bf
parentc0d20b1b01b80ea19153cc66b3c3351e6d1692d3 (diff)
downloadStatsD-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.cpp17
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],