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

Unified Diff: mojo/public/cpp/environment/tests/logging_unittest.cc

Issue 372163005: Fixes for re-enabling more MSVC level 4 warnings: mojo/ edition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Actually test |was_called| Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | mojo/services/public/cpp/view_manager/lib/node.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/cpp/environment/tests/logging_unittest.cc
diff --git a/mojo/public/cpp/environment/tests/logging_unittest.cc b/mojo/public/cpp/environment/tests/logging_unittest.cc
index 2afad88aff26f0ca944220f21727e6eff642d868..695a625cb674d66f7b79dd82b738794b80f404c9 100644
--- a/mojo/public/cpp/environment/tests/logging_unittest.cc
+++ b/mojo/public/cpp/environment/tests/logging_unittest.cc
@@ -19,6 +19,16 @@
namespace mojo {
namespace {
+class PtrToMemberHelper {
+ public:
+ int member;
+};
+
+bool DcheckTestHelper(bool* was_called) {
+ *was_called = true;
+ return false;
+}
+
class LoggingTest : public testing::Test {
public:
LoggingTest() : environment_(NULL, &kMockLogger) {
@@ -169,28 +179,28 @@ TEST_F(LoggingTest, LogStream) {
MOJO_LOG_STREAM(INFO) << "hello";
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hello"), last_message());
ResetMockLogger();
MOJO_LOG_STREAM(ERROR) << "hi " << 123;
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_ERROR, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hi 123"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hi 123"), last_message());
}
TEST_F(LoggingTest, LazyLogStream) {
MOJO_LAZY_LOG_STREAM(INFO, true) << "hello";
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hello"), last_message());
ResetMockLogger();
MOJO_LAZY_LOG_STREAM(ERROR, true) << "hi " << 123;
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_ERROR, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hi 123"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hi 123"), last_message());
ResetMockLogger();
@@ -204,15 +214,19 @@ TEST_F(LoggingTest, LazyLogStream) {
ResetMockLogger();
- bool x = false;
+ PtrToMemberHelper helper;
+ helper.member = 1;
+ int PtrToMemberHelper::*member_ptr = &PtrToMemberHelper::member;
+
// This probably fails to compile if we forget to parenthesize the condition
- // in the macro (= has low precedence, and needs an lvalue on the LHS).
- MOJO_LAZY_LOG_STREAM(ERROR, x = true) << "hello";
+ // in the macro (.* has lower precedence than !, which can't apply to
+ // |helper|).
+ MOJO_LAZY_LOG_STREAM(ERROR, helper.*member_ptr == 1) << "hello";
EXPECT_TRUE(log_message_was_called());
ResetMockLogger();
- MOJO_LAZY_LOG_STREAM(WARNING, x = false) << "hello";
+ MOJO_LAZY_LOG_STREAM(WARNING, helper.*member_ptr == 0) << "hello";
EXPECT_FALSE(log_message_was_called());
}
@@ -249,14 +263,14 @@ TEST_F(LoggingTest, Log) {
MOJO_LOG(INFO) << "hello";
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hello"), last_message());
ResetMockLogger();
MOJO_LOG(ERROR) << "hello";
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_ERROR, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hello"), last_message());
ResetMockLogger();
@@ -275,7 +289,7 @@ TEST_F(LoggingTest, Log) {
MOJO_LOG(ERROR) << "hello";
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_ERROR, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hello"), last_message());
}
TEST_F(LoggingTest, LogIf) {
@@ -289,43 +303,33 @@ TEST_F(LoggingTest, LogIf) {
EXPECT_FALSE(log_message_was_called());
ResetMockLogger();
+ Environment::GetDefaultLogger()->SetMinimumLogLevel(MOJO_LOG_LEVEL_ERROR);
- bool x = false;
+ bool x = true;
// Also try to make sure that we parenthesize the condition properly.
- MOJO_LOG_IF(INFO, x = true) << "hello";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hello"), last_message());
-
- ResetMockLogger();
-
- MOJO_LOG_IF(INFO, x = false) << "hello";
+ MOJO_LOG_IF(INFO, false || x) << "hello";
EXPECT_FALSE(log_message_was_called());
ResetMockLogger();
- Environment::GetDefaultLogger()->SetMinimumLogLevel(MOJO_LOG_LEVEL_ERROR);
-
- ResetMockLogger();
-
MOJO_LOG_IF(INFO, 0 != 1) << "hello";
EXPECT_FALSE(log_message_was_called());
ResetMockLogger();
- MOJO_LOG_IF(WARNING, 1+1 == 2) << "hello";
+ MOJO_LOG_IF(WARNING, 1 + 1 == 2) << "hello";
EXPECT_FALSE(log_message_was_called());
ResetMockLogger();
- MOJO_LOG_IF(ERROR, 1*2 == 2) << "hello";
+ MOJO_LOG_IF(ERROR, 1 * 2 == 2) << "hello";
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_ERROR, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-3, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 3, "hello"), last_message());
ResetMockLogger();
- MOJO_LOG_IF(FATAL, 1*2 == 3) << "hello";
+ MOJO_LOG_IF(FATAL, 1 * 2 == 3) << "hello";
EXPECT_FALSE(log_message_was_called());
ResetMockLogger();
@@ -342,21 +346,25 @@ TEST_F(LoggingTest, Check) {
ResetMockLogger();
- bool x = true;
+ PtrToMemberHelper helper;
+ helper.member = 0;
+ int PtrToMemberHelper::*member_ptr = &PtrToMemberHelper::member;
+
// Also try to make sure that we parenthesize the condition properly.
- MOJO_CHECK(x = false) << "hello";
+ MOJO_CHECK(helper.*member_ptr == 1) << "hello";
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_FATAL, last_log_level());
// Different compilers have different ideas about the line number of a split
// line.
int line = __LINE__;
- EXPECT_EQ(ExpectedLogMessage(line-5, "Check failed: x = false. hello"),
+ EXPECT_EQ(ExpectedLogMessage(line - 5,
+ "Check failed: helper.*member_ptr == 1. hello"),
last_message());
ResetMockLogger();
// Also test a "naked" |MOJO_CHECK()|s.
- MOJO_CHECK(1+2 == 3);
+ MOJO_CHECK(1 + 2 == 3);
EXPECT_FALSE(log_message_was_called());
}
@@ -373,7 +381,7 @@ TEST_F(LoggingTest, Dlog) {
#else
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-6, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 6, "hello"), last_message());
#endif
}
@@ -396,7 +404,7 @@ TEST_F(LoggingTest, DlogIf) {
#else
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-6, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 6, "hello"), last_message());
#endif
ResetMockLogger();
@@ -411,7 +419,7 @@ TEST_F(LoggingTest, DlogIf) {
#else
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_WARNING, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__-6, "hello"), last_message());
+ EXPECT_EQ(ExpectedLogMessage(__LINE__ - 6, "hello"), last_message());
#endif
}
@@ -429,19 +437,30 @@ TEST_F(LoggingTest, Dcheck) {
// |MOJO_DCHECK()| should compile (but not evaluate) its condition even for
// non-debug builds. (Hopefully, we'll get an unused variable error if it
// fails to compile the condition.)
- bool x = true;
- MOJO_DCHECK(x = false) << "hello";
+ bool was_called = false;
+ MOJO_DCHECK(DcheckTestHelper(&was_called)) << "hello";
#ifdef NDEBUG
+ EXPECT_FALSE(was_called);
EXPECT_FALSE(log_message_was_called());
#else
+ EXPECT_TRUE(was_called);
EXPECT_TRUE(log_message_was_called());
EXPECT_EQ(MOJO_LOG_LEVEL_FATAL, last_log_level());
// Different compilers have different ideas about the line number of a split
// line.
int line = __LINE__;
- EXPECT_EQ(ExpectedLogMessage(line-8, "Check failed: x = false. hello"),
- last_message());
+ EXPECT_EQ(
+ ExpectedLogMessage(line - 10,
+ "Check failed: DcheckTestHelper(&was_called). hello"),
+ last_message());
#endif
+
+ ResetMockLogger();
+
+ // Also try to make sure that we parenthesize the condition properly.
+ bool x = true;
+ MOJO_DCHECK(false || x) << "hello";
+ EXPECT_FALSE(log_message_was_called());
}
} // namespace
« no previous file with comments | « no previous file | mojo/services/public/cpp/view_manager/lib/node.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698