Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Unified Diff: components/device_event_log/device_event_log_impl_unittest.cc

Issue 1140643002: Fix device_event_log component build, make NonThreadSafe (Take 2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/device_event_log/device_event_log_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/device_event_log/device_event_log_impl_unittest.cc
diff --git a/components/device_event_log/device_event_log_impl_unittest.cc b/components/device_event_log/device_event_log_impl_unittest.cc
index b6eff23fce12858cfb311b44918ff67d29ccf178..706039d9c647986cbaa2b029683288b9e8ceec56 100644
--- a/components/device_event_log/device_event_log_impl_unittest.cc
+++ b/components/device_event_log/device_event_log_impl_unittest.cc
@@ -5,6 +5,7 @@
#include "components/device_event_log/device_event_log_impl.h"
#include <algorithm>
+#include <string>
#include "base/basictypes.h"
#include "base/compiler_specific.h"
@@ -12,6 +13,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/strings/string_split.h"
#include "base/strings/stringprintf.h"
+#include "base/test/test_simple_task_runner.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace device_event_log {
@@ -21,15 +23,29 @@ namespace {
const size_t kDefaultMaxEvents = 100;
LogLevel kDefaultLevel = LOG_LEVEL_EVENT;
LogType kDefaultType = LOG_TYPE_NETWORK;
+const char kFileName[] = "file";
+
+// Calls GetAsString on the task thread and sets s_string_result. Make sure
+// that task_runner_->RunUntilIdle() is called before using s_string_result.
+std::string s_string_result;
+void CallGetAsString(DeviceEventLogImpl* impl,
+ StringOrder order,
+ const std::string& format,
+ const std::string& types,
+ LogLevel max_level,
+ size_t max_events) {
+ s_string_result =
+ impl->GetAsString(order, format, types, max_level, max_events);
+}
} // namespace
class DeviceEventLogTest : public testing::Test {
public:
- DeviceEventLogTest() {}
+ DeviceEventLogTest() : task_runner_(new base::TestSimpleTaskRunner()) {}
void SetUp() override {
- impl_.reset(new DeviceEventLogImpl(kDefaultMaxEvents));
+ impl_.reset(new DeviceEventLogImpl(task_runner_, kDefaultMaxEvents));
}
void TearDown() override { impl_.reset(); }
@@ -53,19 +69,32 @@ class DeviceEventLogTest : public testing::Test {
return std::count(input.begin(), input.end(), '\n');
}
+ std::string GetAsString(StringOrder order,
+ const std::string& format,
+ const std::string& types,
+ LogLevel max_level,
+ size_t max_events) {
+ task_runner_->PostTask(
+ FROM_HERE,
+ base::Bind(&CallGetAsString,
+ impl_.get(), order, format, types, max_level, max_events));
+ task_runner_->RunUntilIdle();
+ return s_string_result;
+ }
+
std::string GetLogString(StringOrder order,
const std::string& format,
LogLevel max_level,
size_t max_events) {
- return impl_->GetAsString(order, format, "", max_level, max_events);
+ return GetAsString(order, format, "", max_level, max_events);
}
std::string GetOrderedString(StringOrder order, size_t max_events) {
- return impl_->GetAsString(order, "file", "", kDefaultLevel, max_events);
+ return GetAsString(order, "file", "", kDefaultLevel, max_events);
}
std::string GetLogStringForType(const std::string& types) {
- return impl_->GetAsString(OLDEST_FIRST, "type", types, kDefaultLevel, 0);
+ return GetAsString(OLDEST_FIRST, "type", types, kDefaultLevel, 0);
}
void AddNetworkEntry(const char* file,
@@ -73,18 +102,21 @@ class DeviceEventLogTest : public testing::Test {
LogLevel level,
const std::string& event) {
impl_->AddEntry(file, line, kDefaultType, level, event);
+ task_runner_->RunUntilIdle();
}
void AddTestEvent(LogLevel level, const std::string& event) {
- AddNetworkEntry("file", 0, level, event);
+ AddNetworkEntry(kFileName, 0, level, event);
}
void AddEventType(LogType type, const std::string& event) {
- impl_->AddEntry("file", 0, type, kDefaultLevel, event);
+ impl_->AddEntry(kFileName, 0, type, kDefaultLevel, event);
+ task_runner_->RunUntilIdle();
}
size_t GetMaxEntries() const { return impl_->max_entries(); }
+ scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
scoped_ptr<DeviceEventLogImpl> impl_;
private:
@@ -96,10 +128,13 @@ TEST_F(DeviceEventLogTest, TestNetworkEvents) {
EXPECT_EQ("No Log Entries.", output_none);
LogLevel level = kDefaultLevel;
- AddNetworkEntry("file1", 1, level, "event1");
- AddNetworkEntry("file2", 2, level, "event2");
- AddNetworkEntry("file3", 3, level, "event3");
- AddNetworkEntry("file3", 3, level, "event3");
+ static const char kFile1[] = "file1";
+ static const char kFile2[] = "file2";
+ static const char kFile3[] = "file3";
+ AddNetworkEntry(kFile1, 1, level, "event1");
+ AddNetworkEntry(kFile2, 2, level, "event2");
+ AddNetworkEntry(kFile3, 3, level, "event3");
+ AddNetworkEntry(kFile3, 3, level, "event3");
const std::string expected_output_oldest_first(
"file1:1 event1\n"
@@ -223,7 +258,7 @@ TEST_F(DeviceEventLogTest, TestMaxEvents) {
TEST_F(DeviceEventLogTest, TestMaxErrors) {
const int kMaxTestEntries = 4;
- impl_.reset(new DeviceEventLogImpl(kMaxTestEntries));
+ impl_.reset(new DeviceEventLogImpl(task_runner_, kMaxTestEntries));
AddTestEvent(LOG_LEVEL_EVENT, "event1");
AddTestEvent(LOG_LEVEL_ERROR, "error2");
AddTestEvent(LOG_LEVEL_EVENT, "event3");
« no previous file with comments | « components/device_event_log/device_event_log_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698