Index: chromeos/network/network_event_log_unittest.cc |
diff --git a/chromeos/network/network_event_log_unittest.cc b/chromeos/network/network_event_log_unittest.cc |
index 8654bb3675b70395c2f3842ae95bedfd11f047a4..d28f2f5cfe969c8db23b1549a4f258698b7fa1f4 100644 |
--- a/chromeos/network/network_event_log_unittest.cc |
+++ b/chromeos/network/network_event_log_unittest.cc |
@@ -15,6 +15,12 @@ |
namespace chromeos { |
+namespace { |
+ |
+network_event_log::LogLevel kDefaultLevel = network_event_log::LOG_LEVEL_EVENT; |
+ |
+} // namespace |
+ |
class NetworkEventLogTest : public testing::Test { |
public: |
NetworkEventLogTest() { |
@@ -36,7 +42,9 @@ class NetworkEventLogTest : public testing::Test { |
for (size_t i = 0; i < lines.size(); ++i) { |
size_t n = lines[i].find(']'); |
if (n != std::string::npos) |
- output += lines[i].substr(n+2) + '\n'; |
+ output += "[time] " + lines[i].substr(n+2) + '\n'; |
+ else |
+ output += lines[i]; |
} |
return output; |
} |
@@ -45,65 +53,146 @@ class NetworkEventLogTest : public testing::Test { |
return std::count(input.begin(), input.end(), '\n'); |
} |
+ std::string GetLogString(network_event_log::StringOrder order, |
+ size_t max_events) { |
+ return network_event_log::GetAsString( |
+ order, "file desc", kDefaultLevel, max_events); |
+ } |
+ |
private: |
DISALLOW_COPY_AND_ASSIGN(NetworkEventLogTest); |
}; |
TEST_F(NetworkEventLogTest, TestNetworkEvents) { |
- std::string output_none = network_event_log::GetAsString( |
- network_event_log::OLDEST_FIRST, 0); |
+ std::string output_none = GetLogString(network_event_log::OLDEST_FIRST, 0); |
EXPECT_EQ("No Log Entries.", output_none); |
- network_event_log::AddEntry("module1", "event1", "description1"); |
- network_event_log::AddEntry("module2", "event2", "description2"); |
- network_event_log::AddEntry("module3", "event3", "description3"); |
- network_event_log::AddEntry("module3", "event3", "description3"); |
+ network_event_log::LogLevel level = kDefaultLevel; |
+ network_event_log::AddEntry("file1", 1, level, "event1", "description1"); |
+ network_event_log::AddEntry("file2", 2, level, "event2", "description2"); |
+ network_event_log::AddEntry("file3", 3, level, "event3", "description3"); |
+ network_event_log::AddEntry("file3", 3, level, "event3", "description3"); |
const std::string expected_output_oldest_first( |
- "module1:event1: description1\n" |
- "module2:event2: description2\n" |
- "module3:event3: description3 (2)\n"); |
- std::string output_oldest_first = network_event_log::GetAsString( |
+ "file1:1 event1: description1\n" |
+ "file2:2 event2: description2\n" |
+ "file3:3 event3: description3 (2)\n"); |
+ std::string output_oldest_first = GetLogString( |
network_event_log::OLDEST_FIRST, 0); |
- output_oldest_first = SkipTime(output_oldest_first); |
EXPECT_EQ(expected_output_oldest_first, output_oldest_first); |
const std::string expected_output_oldest_first_short( |
- "module2:event2: description2\n" |
- "module3:event3: description3 (2)\n"); |
- std::string output_oldest_first_short = network_event_log::GetAsString( |
+ "file2:2 event2: description2\n" |
+ "file3:3 event3: description3 (2)\n"); |
+ std::string output_oldest_first_short = GetLogString( |
network_event_log::OLDEST_FIRST, 2); |
- output_oldest_first_short = SkipTime(output_oldest_first_short); |
EXPECT_EQ(expected_output_oldest_first_short, output_oldest_first_short); |
const std::string expected_output_newest_first( |
- "module3:event3: description3 (2)\n" |
- "module2:event2: description2\n" |
- "module1:event1: description1\n"); |
- std::string output_newest_first = network_event_log::GetAsString( |
+ "file3:3 event3: description3 (2)\n" |
+ "file2:2 event2: description2\n" |
+ "file1:1 event1: description1\n"); |
+ std::string output_newest_first = GetLogString( |
network_event_log::NEWEST_FIRST, 0); |
- output_newest_first = SkipTime(output_newest_first); |
EXPECT_EQ(expected_output_newest_first, output_newest_first); |
const std::string expected_output_newest_first_short( |
- "module3:event3: description3 (2)\n" |
- "module2:event2: description2\n"); |
- std::string output_newest_first_short = network_event_log::GetAsString( |
+ "file3:3 event3: description3 (2)\n" |
+ "file2:2 event2: description2\n"); |
+ std::string output_newest_first_short = GetLogString( |
network_event_log::NEWEST_FIRST, 2); |
- output_newest_first_short = SkipTime(output_newest_first_short); |
EXPECT_EQ(expected_output_newest_first_short, output_newest_first_short); |
} |
TEST_F(NetworkEventLogTest, TestMaxNetworkEvents) { |
const size_t entries_to_add = |
network_event_log::kMaxNetworkEventLogEntries + 3; |
- for (size_t i = 0; i < entries_to_add; ++i) |
- network_event_log::AddEntry("test", |
+ for (size_t i = 0; i < entries_to_add; ++i) { |
+ network_event_log::AddEntry("test", 1, network_event_log::LOG_LEVEL_EVENT, |
base::StringPrintf("event_%"PRIuS, i), ""); |
- |
- std::string output = GetAsString(network_event_log::OLDEST_FIRST, 0); |
+ } |
+ std::string output = GetLogString(network_event_log::OLDEST_FIRST, 0); |
size_t output_lines = CountLines(output); |
EXPECT_EQ(network_event_log::kMaxNetworkEventLogEntries, output_lines); |
} |
+TEST_F(NetworkEventLogTest, TestStringFormat) { |
+ network_event_log::AddEntry( |
+ "file", 0, network_event_log::LOG_LEVEL_ERROR, "event0", "description"); |
+ EXPECT_EQ("file:0 event0\n", |
+ network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, |
+ "file", |
+ kDefaultLevel, 1)); |
+ EXPECT_EQ("[time] event0\n", |
+ SkipTime(network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, |
+ "time", |
+ kDefaultLevel, 1))); |
+ EXPECT_EQ("event0: description\n", |
+ network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, |
+ "desc", |
+ kDefaultLevel, 1)); |
+ EXPECT_EQ("event0\n", |
+ network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, |
+ "", |
+ kDefaultLevel, 1)); |
+ EXPECT_EQ("<b>event0</b>\n", |
+ network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, |
+ "html", |
+ kDefaultLevel, 1)); |
+ EXPECT_EQ("[time] file:0 event0: description\n", |
+ SkipTime(network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, |
+ "file,time;desc", |
+ kDefaultLevel, 1))); |
+} |
+ |
+namespace { |
+ |
+void AddEventsAtLevel(network_event_log::LogLevel level, int num_events) { |
+ static int event_index = 0; |
+ for (int i = 0; i < num_events; ++i) { |
+ std::string event = base::StringPrintf("event%d", event_index++); |
+ network_event_log::AddEntry("file", 0, level, event, "description"); |
+ } |
+} |
+ |
+} // namespace |
+ |
+TEST_F(NetworkEventLogTest, TestLogLevel) { |
+ AddEventsAtLevel(network_event_log::LOG_LEVEL_ERROR, 3); |
+ AddEventsAtLevel(network_event_log::LOG_LEVEL_EVENT, 2); |
+ AddEventsAtLevel(network_event_log::LOG_LEVEL_DEBUG, 1); |
pneubeck (no reviews)
2013/05/13 13:16:25
please add two more groups, so that there are two
stevenjb
2013/05/13 19:36:39
Not clear what you meant by a,b,c,etc, but I separ
|
+ |
+ std::string output; |
+ output = network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, "", |
+ network_event_log::LOG_LEVEL_ERROR, 0); |
+ EXPECT_EQ(3u, CountLines(output)); |
+ output = network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, "", |
+ network_event_log::LOG_LEVEL_EVENT, 0); |
+ EXPECT_EQ(5u, CountLines(output)); |
+ output = network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, "", |
+ network_event_log::LOG_LEVEL_DEBUG, 0); |
+ EXPECT_EQ(6u, CountLines(output)); |
+ |
+ // Test max_level. Get only the ERROR entries. |
+ output = network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, "", |
+ network_event_log::LOG_LEVEL_ERROR, 0); |
+ EXPECT_EQ("event0\nevent1\nevent2\n", output); |
+ |
+ // Test max_events with max_level. Get the 2 most recent ERROR entries. |
+ output = network_event_log::GetAsString( |
+ network_event_log::OLDEST_FIRST, "", |
+ network_event_log::LOG_LEVEL_ERROR, 2); |
+ EXPECT_EQ("event1\nevent2\n", output); |
+} |
+ |
} // namespace chromeos |