diff options
Diffstat (limited to 'cmds/statsd/tests/log_event/LogEventQueue_test.cpp')
-rw-r--r-- | cmds/statsd/tests/log_event/LogEventQueue_test.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/cmds/statsd/tests/log_event/LogEventQueue_test.cpp b/cmds/statsd/tests/log_event/LogEventQueue_test.cpp index f27d12957f11..a15f95bef358 100644 --- a/cmds/statsd/tests/log_event/LogEventQueue_test.cpp +++ b/cmds/statsd/tests/log_event/LogEventQueue_test.cpp @@ -16,9 +16,12 @@ #include <gmock/gmock.h> #include <gtest/gtest.h> +#include <stdio.h> + #include <thread> -#include <stdio.h> +#include "stats_event.h" +#include "tests/statsd_test_util.h" namespace android { namespace os { @@ -29,6 +32,20 @@ using namespace testing; using std::unique_ptr; +namespace { + +std::unique_ptr<LogEvent> makeLogEvent(uint64_t timestampNs) { + AStatsEvent* statsEvent = AStatsEvent_obtain(); + AStatsEvent_setAtomId(statsEvent, 10); + AStatsEvent_overwriteTimestamp(statsEvent, timestampNs); + + std::unique_ptr<LogEvent> logEvent = std::make_unique<LogEvent>(/*uid=*/0, /*pid=*/0); + parseStatsEventToLogEvent(statsEvent, logEvent.get()); + return logEvent; +} + +} // anonymous namespace + #ifdef __ANDROID__ TEST(LogEventQueue_test, TestGoodConsumer) { LogEventQueue queue(50); @@ -36,8 +53,7 @@ TEST(LogEventQueue_test, TestGoodConsumer) { std::thread writer([&queue, timeBaseNs] { for (int i = 0; i < 100; i++) { int64_t oldestEventNs; - bool success = queue.push(std::make_unique<LogEvent>(10, timeBaseNs + i * 1000), - &oldestEventNs); + bool success = queue.push(makeLogEvent(timeBaseNs + i * 1000), &oldestEventNs); EXPECT_TRUE(success); std::this_thread::sleep_for(std::chrono::milliseconds(1)); } @@ -63,8 +79,7 @@ TEST(LogEventQueue_test, TestSlowConsumer) { int failure_count = 0; int64_t oldestEventNs; for (int i = 0; i < 100; i++) { - bool success = queue.push(std::make_unique<LogEvent>(10, timeBaseNs + i * 1000), - &oldestEventNs); + bool success = queue.push(makeLogEvent(timeBaseNs + i * 1000), &oldestEventNs); if (!success) failure_count++; std::this_thread::sleep_for(std::chrono::milliseconds(1)); } |