OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/logging.h" | 6 #include "base/logging.h" |
7 | 7 |
8 #include "testing/gmock/include/gmock/gmock.h" | 8 #include "testing/gmock/include/gmock/gmock.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 LogStateSaver log_state_saver_; | 47 LogStateSaver log_state_saver_; |
48 }; | 48 }; |
49 | 49 |
50 class MockLogSource { | 50 class MockLogSource { |
51 public: | 51 public: |
52 MOCK_METHOD0(Log, const char*()); | 52 MOCK_METHOD0(Log, const char*()); |
53 }; | 53 }; |
54 | 54 |
55 TEST_F(LoggingTest, BasicLogging) { | 55 TEST_F(LoggingTest, BasicLogging) { |
56 MockLogSource mock_log_source; | 56 MockLogSource mock_log_source; |
57 const int kExpectedDebugOrReleaseCalls = 6; | 57 EXPECT_CALL(mock_log_source, Log()).Times(DEBUG_MODE ? 16 : 8). |
58 const int kExpectedDebugCalls = 6; | |
59 const int kExpectedCalls = | |
60 kExpectedDebugOrReleaseCalls + (DEBUG_MODE ? kExpectedDebugCalls : 0); | |
61 EXPECT_CALL(mock_log_source, Log()).Times(kExpectedCalls). | |
62 WillRepeatedly(Return("log message")); | 58 WillRepeatedly(Return("log message")); |
63 | 59 |
64 SetMinLogLevel(LOG_INFO); | 60 SetMinLogLevel(LOG_INFO); |
65 | 61 |
66 EXPECT_TRUE(LOG_IS_ON(INFO)); | 62 EXPECT_TRUE(LOG_IS_ON(INFO)); |
67 // As of g++-4.5, the first argument to EXPECT_EQ cannot be a | 63 // As of g++-4.5, the first argument to EXPECT_EQ cannot be a |
68 // constant expression. | 64 // constant expression. |
69 const bool kIsDebugMode = (DEBUG_MODE != 0); | 65 const bool kIsDebugMode = (DEBUG_MODE != 0); |
70 EXPECT_TRUE(kIsDebugMode == DLOG_IS_ON(INFO)); | 66 EXPECT_TRUE(kIsDebugMode == DLOG_IS_ON(INFO)); |
71 EXPECT_TRUE(VLOG_IS_ON(0)); | 67 EXPECT_TRUE(VLOG_IS_ON(0)); |
72 | 68 |
73 LOG(INFO) << mock_log_source.Log(); | 69 LOG(INFO) << mock_log_source.Log(); |
74 LOG_IF(INFO, true) << mock_log_source.Log(); | 70 LOG_IF(INFO, true) << mock_log_source.Log(); |
75 PLOG(INFO) << mock_log_source.Log(); | 71 PLOG(INFO) << mock_log_source.Log(); |
76 PLOG_IF(INFO, true) << mock_log_source.Log(); | 72 PLOG_IF(INFO, true) << mock_log_source.Log(); |
77 VLOG(0) << mock_log_source.Log(); | 73 VLOG(0) << mock_log_source.Log(); |
78 VLOG_IF(0, true) << mock_log_source.Log(); | 74 VLOG_IF(0, true) << mock_log_source.Log(); |
| 75 VPLOG(0) << mock_log_source.Log(); |
| 76 VPLOG_IF(0, true) << mock_log_source.Log(); |
79 | 77 |
80 DLOG(INFO) << mock_log_source.Log(); | 78 DLOG(INFO) << mock_log_source.Log(); |
81 DLOG_IF(INFO, true) << mock_log_source.Log(); | 79 DLOG_IF(INFO, true) << mock_log_source.Log(); |
82 DPLOG(INFO) << mock_log_source.Log(); | 80 DPLOG(INFO) << mock_log_source.Log(); |
83 DPLOG_IF(INFO, true) << mock_log_source.Log(); | 81 DPLOG_IF(INFO, true) << mock_log_source.Log(); |
84 DVLOG(0) << mock_log_source.Log(); | 82 DVLOG(0) << mock_log_source.Log(); |
85 DVLOG_IF(0, true) << mock_log_source.Log(); | 83 DVLOG_IF(0, true) << mock_log_source.Log(); |
| 84 DVPLOG(0) << mock_log_source.Log(); |
| 85 DVPLOG_IF(0, true) << mock_log_source.Log(); |
86 } | 86 } |
87 | 87 |
88 TEST_F(LoggingTest, LogIsOn) { | 88 TEST_F(LoggingTest, LogIsOn) { |
89 #if defined(NDEBUG) | 89 #if defined(NDEBUG) |
90 const bool kDfatalIsFatal = false; | 90 const bool kDfatalIsFatal = false; |
91 #else // defined(NDEBUG) | 91 #else // defined(NDEBUG) |
92 const bool kDfatalIsFatal = true; | 92 const bool kDfatalIsFatal = true; |
93 #endif // defined(NDEBUG) | 93 #endif // defined(NDEBUG) |
94 | 94 |
95 SetMinLogLevel(LOG_INFO); | 95 SetMinLogLevel(LOG_INFO); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 EXPECT_FALSE(LOG_IS_ON(INFO)); | 152 EXPECT_FALSE(LOG_IS_ON(INFO)); |
153 EXPECT_FALSE(DLOG_IS_ON(INFO)); | 153 EXPECT_FALSE(DLOG_IS_ON(INFO)); |
154 EXPECT_FALSE(VLOG_IS_ON(1)); | 154 EXPECT_FALSE(VLOG_IS_ON(1)); |
155 | 155 |
156 LOG(INFO) << mock_log_source.Log(); | 156 LOG(INFO) << mock_log_source.Log(); |
157 LOG_IF(INFO, false) << mock_log_source.Log(); | 157 LOG_IF(INFO, false) << mock_log_source.Log(); |
158 PLOG(INFO) << mock_log_source.Log(); | 158 PLOG(INFO) << mock_log_source.Log(); |
159 PLOG_IF(INFO, false) << mock_log_source.Log(); | 159 PLOG_IF(INFO, false) << mock_log_source.Log(); |
160 VLOG(1) << mock_log_source.Log(); | 160 VLOG(1) << mock_log_source.Log(); |
161 VLOG_IF(1, true) << mock_log_source.Log(); | 161 VLOG_IF(1, true) << mock_log_source.Log(); |
| 162 VPLOG(1) << mock_log_source.Log(); |
| 163 VPLOG_IF(1, true) << mock_log_source.Log(); |
162 | 164 |
163 DLOG(INFO) << mock_log_source.Log(); | 165 DLOG(INFO) << mock_log_source.Log(); |
164 DLOG_IF(INFO, true) << mock_log_source.Log(); | 166 DLOG_IF(INFO, true) << mock_log_source.Log(); |
165 DPLOG(INFO) << mock_log_source.Log(); | 167 DPLOG(INFO) << mock_log_source.Log(); |
166 DPLOG_IF(INFO, true) << mock_log_source.Log(); | 168 DPLOG_IF(INFO, true) << mock_log_source.Log(); |
167 DVLOG(1) << mock_log_source.Log(); | 169 DVLOG(1) << mock_log_source.Log(); |
168 DVLOG_IF(1, true) << mock_log_source.Log(); | 170 DVLOG_IF(1, true) << mock_log_source.Log(); |
| 171 DVPLOG(1) << mock_log_source.Log(); |
| 172 DVPLOG_IF(1, true) << mock_log_source.Log(); |
169 } | 173 } |
170 | 174 |
171 // Official builds have CHECKs directly call BreakDebugger. | 175 // Official builds have CHECKs directly call BreakDebugger. |
172 #if !defined(OFFICIAL_BUILD) | 176 #if !defined(OFFICIAL_BUILD) |
173 | 177 |
174 TEST_F(LoggingTest, CheckStreamsAreLazy) { | 178 TEST_F(LoggingTest, CheckStreamsAreLazy) { |
175 MockLogSource mock_log_source, uncalled_mock_log_source; | 179 MockLogSource mock_log_source, uncalled_mock_log_source; |
176 EXPECT_CALL(mock_log_source, Log()).Times(8). | 180 EXPECT_CALL(mock_log_source, Log()).Times(8). |
177 WillRepeatedly(Return("check message")); | 181 WillRepeatedly(Return("check message")); |
178 EXPECT_CALL(uncalled_mock_log_source, Log()).Times(0); | 182 EXPECT_CALL(uncalled_mock_log_source, Log()).Times(0); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 // These should still reference |some_variable| so we don't get | 251 // These should still reference |some_variable| so we don't get |
248 // unused variable warnings. | 252 // unused variable warnings. |
249 DCHECK(some_variable) << "test"; | 253 DCHECK(some_variable) << "test"; |
250 DPCHECK(some_variable) << "test"; | 254 DPCHECK(some_variable) << "test"; |
251 DCHECK_EQ(some_variable, 1) << "test"; | 255 DCHECK_EQ(some_variable, 1) << "test"; |
252 } | 256 } |
253 | 257 |
254 } // namespace | 258 } // namespace |
255 | 259 |
256 } // namespace logging | 260 } // namespace logging |
OLD | NEW |