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 <stdio.h> | |
6 #include <string> | 5 #include <string> |
7 #include <vector> | 6 #include <vector> |
8 | 7 |
9 #include "base/json/json_writer.h" | 8 #include "base/memory/linked_ptr.h" |
10 #include "base/memory/scoped_ptr.h" | |
11 #include "base/values.h" | |
12 #include "chrome/browser/extensions/api/log_private/filter_handler.h" | 9 #include "chrome/browser/extensions/api/log_private/filter_handler.h" |
13 #include "chrome/browser/extensions/api/log_private/log_private_api.h" | 10 #include "chrome/browser/extensions/api/log_private/log_parser.h" |
14 #include "chrome/browser/extensions/api/log_private/syslog_parser.h" | 11 #include "chrome/browser/extensions/api/log_private/syslog_parser.h" |
15 #include "chrome/common/extensions/api/log_private.h" | |
16 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
17 | 13 |
18 namespace extensions { | 14 namespace extensions { |
19 namespace { | 15 namespace { |
20 | 16 |
21 const char kShillLogEntry[] = | 17 const char kShillLogEntry[] = |
22 "2013-07-08T11:28:12.440308-07:00 localhost shill:" | 18 "2013-07-08T11:28:12.440308+02:00 localhost shill:" |
23 "[0708/112812:ERROR:manager.cc(480)] Skipping unload of service"; | 19 "[0708/112812:ERROR:manager.cc(480)] Skipping unload of service"; |
24 | 20 |
25 const char kWpaSupplicantLogEntry[] = | 21 const char kWpaSupplicantLogEntry[] = |
26 "2013-07-08T12:39:07.443100-07:00 localhost wpa_supplicant[894]:" | 22 "2013-07-18T12:39:07.443100-07:00 localhost wpa_supplicant[894]:" |
27 "dbus: Failed to construct signal"; | 23 "dbus: Failed to construct signal"; |
28 | 24 |
29 } // namespace | 25 } // namespace |
30 | 26 |
31 class ExtensionSyslogParserTest : public testing::Test { | 27 class ExtensionSyslogParserTest : public testing::Test { |
32 }; | 28 }; |
33 | 29 |
34 TEST_F(ExtensionSyslogParserTest, ParseLog) { | 30 TEST_F(ExtensionSyslogParserTest, ParseLog) { |
35 std::vector<linked_ptr<api::log_private::LogEntry> > output; | 31 std::vector<linked_ptr<api::log_private::LogEntry> > output; |
36 api::log_private::Filter filter; | 32 api::log_private::Filter filter; |
37 FilterHandler filter_handler(filter); | 33 FilterHandler filter_handler(filter); |
38 SyslogParser p; | 34 SyslogParser p; |
39 // Test shill log | 35 // Test shill log |
40 p.Parse(kShillLogEntry, &output, &filter_handler); | 36 p.Parse(kShillLogEntry, &output, &filter_handler); |
41 EXPECT_STREQ(output[0]->level.c_str(), "error"); | 37 ASSERT_EQ(1u, output.size()); |
42 EXPECT_STREQ(output[0]->process.c_str(), "shill:"); | 38 EXPECT_STREQ("error", output[0]->level.c_str()); |
43 EXPECT_STREQ(output[0]->process_id.c_str(), "unknown"); | 39 EXPECT_STREQ("shill:", output[0]->process.c_str()); |
44 EXPECT_STREQ(output[0]->full_entry.c_str(), kShillLogEntry); | 40 EXPECT_STREQ("unknown", output[0]->process_id.c_str()); |
45 EXPECT_EQ(output[0]->timestamp, 1373308092440.308); | 41 EXPECT_STREQ(kShillLogEntry, output[0]->full_entry.c_str()); |
| 42 EXPECT_DOUBLE_EQ(1373275692440.308, output[0]->timestamp); |
| 43 |
46 // Test WpaSupplicant log | 44 // Test WpaSupplicant log |
47 p.Parse(kWpaSupplicantLogEntry, &output, &filter_handler); | 45 p.Parse(kWpaSupplicantLogEntry, &output, &filter_handler); |
48 EXPECT_STREQ(output[1]->level.c_str(), "unknown"); | 46 ASSERT_EQ(2u, output.size()); |
49 EXPECT_STREQ(output[1]->process.c_str(), "wpa_supplicant"); | 47 EXPECT_STREQ("unknown", output[1]->level.c_str()); |
50 EXPECT_STREQ(output[1]->process_id.c_str(), "894"); | 48 EXPECT_STREQ("wpa_supplicant", output[1]->process.c_str()); |
51 EXPECT_STREQ(output[1]->full_entry.c_str(), kWpaSupplicantLogEntry); | 49 EXPECT_STREQ("894", output[1]->process_id.c_str()); |
52 EXPECT_EQ(output[1]->timestamp, 1373312347443.1); | 50 EXPECT_STREQ(kWpaSupplicantLogEntry, output[1]->full_entry.c_str()); |
| 51 EXPECT_DOUBLE_EQ(1374176347443.1, output[1]->timestamp); |
53 } | 52 } |
54 | 53 |
55 } // namespace extensions | 54 } // namespace extensions |
OLD | NEW |