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

Side by Side Diff: jingle/glue/logging_unittest.cc

Issue 8991010: This change updates the libjingle logging so that it writes to chromiums VLOG instead of its own ... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 8 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | jingle/jingle.gyp » ('j') | third_party/libjingle/overrides/talk/base/logging.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Note: this test tests LOG_V and LOG_E since all other logs are expressed
6 // in forms of them. LOG is also tested for good measure.
7 // Also note that we are only allowed to call InitLogging() twice so the test
8 // cases are more dense than normal.
9
10 // The following include must be first in this file. It ensures that
11 // libjingle style logging is used.
12 #define LOGGING_INSIDE_LIBJINGLE
13
14 #include "third_party/libjingle/overrides/talk/base/logging.h"
15
16 #include "base/command_line.h"
17 #include "base/file_util.h"
18 #include "testing/gtest/include/gtest/gtest.h"
19
20 static const char log_file_name[] = "libjingle_logging.log";
21 static const int kDefaultVerbosity = 0;
22
23 static const char* AsString(talk_base::LoggingSeverity severity) {
24 switch (severity) {
25 case talk_base::LS_ERROR:
26 return "LS_ERROR";
27 case talk_base::LS_WARNING:
28 return "LS_WARNING";
29 case talk_base::LS_INFO:
30 return "LS_INFO";
31 case talk_base::LS_VERBOSE:
32 return "LS_VERBOSE";
33 case talk_base::LS_SENSITIVE:
34 return "LS_SENSITIVE";
35 default:
36 return "";
37 }
38 }
39
40 static bool ContainsString(const std::string& original,
41 const char* string_to_match) {
42 return original.find(string_to_match) != std::string::npos;
43 }
44
45 static bool Initialize(int verbosity_level) {
46 if (verbosity_level != kDefaultVerbosity) {
47 // Update the command line with specified verbosity level for this file.
48 CommandLine* command_line = CommandLine::ForCurrentProcess();
49 std::ostringstream value_stream;
50 value_stream << "logging_unittest=" << verbosity_level;
51 const std::string& value = value_stream.str();
52 command_line->AppendSwitchASCII("vmodule", value);
53 }
54
55 // The command line flags are parsed here and the log file name is set.
56 if (!InitLogging(log_file_name, logging::LOG_ONLY_TO_FILE,
57 logging::DONT_LOCK_LOG_FILE, logging::DELETE_OLD_LOG_FILE,
58 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS)) {
59 return false;
60 }
61 EXPECT_TRUE(VLOG_IS_ON(verbosity_level));
62 EXPECT_FALSE(VLOG_IS_ON(verbosity_level + 1));
63 return true;
64 }
65
66 TEST(LibjingleLogTest, DefaultConfiguration) {
67 ASSERT_TRUE(Initialize(kDefaultVerbosity));
68
69 // In the default configuration nothing should be logged.
70 LOG_V(talk_base::LS_ERROR) << AsString(talk_base::LS_ERROR);
71 LOG_V(talk_base::LS_WARNING) << AsString(talk_base::LS_WARNING);
72 LOG_V(talk_base::LS_INFO) << AsString(talk_base::LS_INFO);
73 LOG_V(talk_base::LS_VERBOSE) << AsString(talk_base::LS_VERBOSE);
74 LOG_V(talk_base::LS_SENSITIVE) << AsString(talk_base::LS_SENSITIVE);
75
76 // Read file to string.
77 const std::string file_name_as_string = log_file_name;
78 FilePath file_path(file_name_as_string);
79 std::string contents_of_file;
80 file_util::ReadFileToString(file_path, &contents_of_file);
81
82 // Make sure string contains the expected values.
83 EXPECT_FALSE(ContainsString(contents_of_file, AsString(talk_base::LS_ERROR)));
84 EXPECT_FALSE(ContainsString(contents_of_file,
85 AsString(talk_base::LS_WARNING)));
86 EXPECT_FALSE(ContainsString(contents_of_file, AsString(talk_base::LS_INFO)));
87 EXPECT_FALSE(ContainsString(contents_of_file,
88 AsString(talk_base::LS_VERBOSE)));
89 EXPECT_FALSE(ContainsString(contents_of_file,
90 AsString(talk_base::LS_SENSITIVE)));
91 }
92
93 TEST(LibjingleLogTest, InfoConfiguration) {
94 ASSERT_TRUE(Initialize(talk_base::LS_INFO));
95
96 // In this configuration everything lower or equal to LS_INFO should be
97 // logged.
98 LOG_V(talk_base::LS_ERROR) << AsString(talk_base::LS_ERROR);
99 LOG_V(talk_base::LS_WARNING) << AsString(talk_base::LS_WARNING);
100 LOG_V(talk_base::LS_INFO) << AsString(talk_base::LS_INFO);
101 LOG_V(talk_base::LS_VERBOSE) << AsString(talk_base::LS_VERBOSE);
102 LOG_V(talk_base::LS_SENSITIVE) << AsString(talk_base::LS_SENSITIVE);
103
104 // Read file to string.
105 const std::string file_name_as_string = log_file_name;
106 FilePath file_path(file_name_as_string);
107 std::string contents_of_file;
108 file_util::ReadFileToString(file_path, &contents_of_file);
109
110 // Make sure string contains the expected values.
111 EXPECT_TRUE(ContainsString(contents_of_file, AsString(talk_base::LS_ERROR)));
112 EXPECT_TRUE(ContainsString(contents_of_file,
113 AsString(talk_base::LS_WARNING)));
114 EXPECT_TRUE(ContainsString(contents_of_file, AsString(talk_base::LS_INFO)));
115 EXPECT_FALSE(ContainsString(contents_of_file,
116 AsString(talk_base::LS_VERBOSE)));
117 EXPECT_FALSE(ContainsString(contents_of_file,
118 AsString(talk_base::LS_SENSITIVE)));
119
120 // Also check that the log is proper.
121 EXPECT_TRUE(ContainsString(contents_of_file, "logging_unittest.cc"));
122 EXPECT_FALSE(ContainsString(contents_of_file, "logging.h"));
123 EXPECT_FALSE(ContainsString(contents_of_file, "logging.cc"));
124 }
125
126 TEST(LibjingleLogTest, LogEverythingConfiguration) {
127 ASSERT_TRUE(Initialize(talk_base::LS_SENSITIVE));
128
129 // In this configuration everything should be logged.
130 LOG_V(talk_base::LS_ERROR) << AsString(talk_base::LS_ERROR);
131 LOG_V(talk_base::LS_WARNING) << AsString(talk_base::LS_WARNING);
132 LOG(LS_INFO) << AsString(talk_base::LS_INFO);
133 LOG_E(LS_INFO, EN, EINTR) << "LOG_E(" << AsString(talk_base::LS_INFO) << ")";
134 LOG_V(talk_base::LS_VERBOSE) << AsString(talk_base::LS_VERBOSE);
135 LOG_V(talk_base::LS_SENSITIVE) << AsString(talk_base::LS_SENSITIVE);
136
137 // Read file to string.
138 const std::string file_name_as_string = log_file_name;
139 FilePath file_path(file_name_as_string);
140 std::string contents_of_file;
141 file_util::ReadFileToString(file_path, &contents_of_file);
142
143 // Make sure string contains the expected values.
144 EXPECT_TRUE(ContainsString(contents_of_file, AsString(talk_base::LS_ERROR)));
145 EXPECT_TRUE(ContainsString(contents_of_file,
146 AsString(talk_base::LS_WARNING)));
147 EXPECT_TRUE(ContainsString(contents_of_file, AsString(talk_base::LS_INFO)));
148 // LOG_E
149 EXPECT_TRUE(ContainsString(contents_of_file, "Interrupted system call"));
150 EXPECT_TRUE(ContainsString(contents_of_file,
151 AsString(talk_base::LS_VERBOSE)));
152 EXPECT_TRUE(ContainsString(contents_of_file,
153 AsString(talk_base::LS_SENSITIVE)));
154 }
OLDNEW
« no previous file with comments | « no previous file | jingle/jingle.gyp » ('j') | third_party/libjingle/overrides/talk/base/logging.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698