summaryrefslogtreecommitdiff
path: root/cmds/statsd/tests/log_event/LogEventQueue_test.cpp
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2020-09-10 17:22:01 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-09-10 17:22:01 +0000
commit8ac6741e47c76bde065f868ea64d2f04541487b9 (patch)
tree1a679458fdbd8d370692d56791e2bf83acee35b5 /cmds/statsd/tests/log_event/LogEventQueue_test.cpp
parent3de940cc40b1e3fdf8224e18a8308a16768cbfa8 (diff)
parentc64112eb974e9aa7638aead998f07a868acfb5a7 (diff)
Merge "Merge Android R"
Diffstat (limited to 'cmds/statsd/tests/log_event/LogEventQueue_test.cpp')
-rw-r--r--cmds/statsd/tests/log_event/LogEventQueue_test.cpp25
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));
}