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

Side by Side Diff: chrome/browser/extensions/api/log_private/syslog_parser_unittest.cc

Issue 266193002: Extend PR_ParseTimeString() to accept some ISO 8601 formats to fix timezone parsing in SyslogParser. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Mark's comments. Created 6 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/extensions/api/log_private/syslog_parser.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/log_private/syslog_parser.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698