OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/memory/linked_ptr.h" | 8 #include "base/memory/linked_ptr.h" |
9 #include "chrome/browser/extensions/api/log_private/filter_handler.h" | 9 #include "chrome/browser/extensions/api/log_private/filter_handler.h" |
10 #include "chrome/browser/extensions/api/log_private/log_parser.h" | 10 #include "chrome/browser/extensions/api/log_private/log_parser.h" |
11 #include "chrome/browser/extensions/api/log_private/syslog_parser.h" | 11 #include "chrome/browser/extensions/api/log_private/syslog_parser.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 | 13 |
14 namespace extensions { | 14 namespace extensions { |
15 namespace { | 15 namespace { |
16 | 16 |
| 17 const char kKernelLogEntry[] = |
| 18 "2014-08-18T14:04:58.606132-07:00 kernel: [269374.012690] " |
| 19 "cfg80211: World regulatory domain updated:"; |
| 20 |
17 const char kShillLogEntry[] = | 21 const char kShillLogEntry[] = |
18 "2013-07-08T11:28:12.440308+02:00 localhost shill:" | 22 "2014-08-15T11:20:24.575058-07:00 shill[1018]: " |
19 "[0708/112812:ERROR:manager.cc(480)] Skipping unload of service"; | 23 "[INFO:service.cc(290)] Disconnecting from service 32: Unload"; |
20 | 24 |
21 const char kWpaSupplicantLogEntry[] = | 25 const char kWpaSupplicantLogEntry[] = |
22 "2013-07-18T12:39:07.443100-07:00 localhost wpa_supplicant[894]:" | 26 "2014-08-15T12:36:06.137021-07:00 wpa_supplicant[818]: " |
23 "dbus: Failed to construct signal"; | 27 "nl80211: Received scan results (0 BSSes)"; |
24 | 28 |
25 } // namespace | 29 } // namespace |
26 | 30 |
27 class ExtensionSyslogParserTest : public testing::Test { | 31 class ExtensionSyslogParserTest : public testing::Test { |
28 }; | 32 }; |
29 | 33 |
30 TEST_F(ExtensionSyslogParserTest, ParseLog) { | 34 TEST_F(ExtensionSyslogParserTest, ParseLog) { |
31 std::vector<linked_ptr<api::log_private::LogEntry> > output; | 35 std::vector<linked_ptr<api::log_private::LogEntry> > output; |
32 api::log_private::Filter filter; | 36 api::log_private::Filter filter; |
33 FilterHandler filter_handler(filter); | 37 FilterHandler filter_handler(filter); |
34 SyslogParser p; | 38 SyslogParser p; |
| 39 |
| 40 // Test kernel log |
| 41 p.Parse(kKernelLogEntry, &output, &filter_handler); |
| 42 ASSERT_EQ(1u, output.size()); |
| 43 EXPECT_EQ("unknown", output[0]->level); |
| 44 EXPECT_EQ("kernel", output[0]->process); |
| 45 EXPECT_EQ("unknown", output[0]->process_id); |
| 46 EXPECT_EQ(kKernelLogEntry, output[0]->full_entry); |
| 47 EXPECT_DOUBLE_EQ(1408395898606.132, output[0]->timestamp); |
| 48 |
35 // Test shill log | 49 // Test shill log |
36 p.Parse(kShillLogEntry, &output, &filter_handler); | 50 p.Parse(kShillLogEntry, &output, &filter_handler); |
37 ASSERT_EQ(1u, output.size()); | 51 ASSERT_EQ(2u, output.size()); |
38 EXPECT_STREQ("error", output[0]->level.c_str()); | 52 EXPECT_EQ("info", output[1]->level); |
39 EXPECT_STREQ("shill:", output[0]->process.c_str()); | 53 EXPECT_EQ("shill", output[1]->process); |
40 EXPECT_STREQ("unknown", output[0]->process_id.c_str()); | 54 EXPECT_EQ("1018", output[1]->process_id); |
41 EXPECT_STREQ(kShillLogEntry, output[0]->full_entry.c_str()); | 55 EXPECT_EQ(kShillLogEntry, output[1]->full_entry); |
42 EXPECT_DOUBLE_EQ(1373275692440.308, output[0]->timestamp); | 56 EXPECT_DOUBLE_EQ(1408126824575.058, output[1]->timestamp); |
43 | 57 |
44 // Test WpaSupplicant log | 58 // Test WpaSupplicant log |
45 p.Parse(kWpaSupplicantLogEntry, &output, &filter_handler); | 59 p.Parse(kWpaSupplicantLogEntry, &output, &filter_handler); |
46 ASSERT_EQ(2u, output.size()); | 60 ASSERT_EQ(3u, output.size()); |
47 EXPECT_STREQ("unknown", output[1]->level.c_str()); | 61 EXPECT_EQ("unknown", output[2]->level); |
48 EXPECT_STREQ("wpa_supplicant", output[1]->process.c_str()); | 62 EXPECT_EQ("wpa_supplicant", output[2]->process); |
49 EXPECT_STREQ("894", output[1]->process_id.c_str()); | 63 EXPECT_EQ("818", output[2]->process_id); |
50 EXPECT_STREQ(kWpaSupplicantLogEntry, output[1]->full_entry.c_str()); | 64 EXPECT_EQ(kWpaSupplicantLogEntry, output[2]->full_entry); |
51 EXPECT_DOUBLE_EQ(1374176347443.1, output[1]->timestamp); | 65 EXPECT_DOUBLE_EQ(1408131366137.021, output[2]->timestamp); |
52 } | 66 } |
53 | 67 |
54 } // namespace extensions | 68 } // namespace extensions |
OLD | NEW |