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

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

Issue 814543006: Move //mojo/{public, edk} underneath //third_party (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/cpp/environment/tests/logger_unittest.cc ('k') | mojo/public/cpp/system/BUILD.gn » ('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
deleted file mode 100644
index 53a1f8850416757335535719507d47d8b0c3af86..0000000000000000000000000000000000000000
--- a/mojo/public/cpp/environment/tests/logging_unittest.cc
+++ /dev/null
@@ -1,479 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdlib.h>
-
-#include <sstream>
-#include <string>
-
-#include "mojo/public/cpp/environment/environment.h"
-#include "mojo/public/cpp/environment/logging.h"
-#include "mojo/public/cpp/system/macros.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-// A macro, so it can be automatically joined with other string literals. (Not
-// simply __FILE__, since that may contain a path.)
-#define OUR_FILENAME "logging_unittest.cc"
-
-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_(nullptr, &kMockLogger) {
- minimum_log_level_ = MOJO_LOG_LEVEL_INFO;
- ResetMockLogger();
- }
- ~LoggingTest() override {}
-
- protected:
- // Note: Does not reset |minimum_log_level_|.
- static void ResetMockLogger() {
- log_message_was_called_ = false;
- last_log_level_ = MOJO_LOG_LEVEL_INFO;
- last_message_.clear();
- }
-
- // A function returning |bool| that shouldn't be called.
- static bool NotCalledCondition() {
- not_called_condition_was_called_ = true;
- return false;
- }
-
- static bool log_message_was_called() { return log_message_was_called_; }
- static MojoLogLevel last_log_level() { return last_log_level_; }
- static const std::string& last_message() { return last_message_; }
- static bool not_called_condition_was_called() {
- return not_called_condition_was_called_;
- }
-
- private:
- // Note: We record calls even if |log_level| is below |minimum_log_level_|
- // (since the macros should mostly avoid this, and we want to be able to check
- // that they do).
- static void MockLogMessage(MojoLogLevel log_level, const char* message) {
- log_message_was_called_ = true;
- last_log_level_ = log_level;
- last_message_ = message;
- }
-
- static MojoLogLevel MockGetMinimumLogLevel() { return minimum_log_level_; }
-
- static void MockSetMinimumLogLevel(MojoLogLevel minimum_log_level) {
- minimum_log_level_ = minimum_log_level;
- }
-
- Environment environment_;
-
- static const MojoLogger kMockLogger;
- static MojoLogLevel minimum_log_level_;
- static bool log_message_was_called_;
- static MojoLogLevel last_log_level_;
- static std::string last_message_;
- static bool not_called_condition_was_called_;
-
- MOJO_DISALLOW_COPY_AND_ASSIGN(LoggingTest);
-};
-
-// static
-const MojoLogger LoggingTest::kMockLogger = {
- &LoggingTest::MockLogMessage,
- &LoggingTest::MockGetMinimumLogLevel,
- &LoggingTest::MockSetMinimumLogLevel};
-
-// static
-MojoLogLevel LoggingTest::minimum_log_level_ = MOJO_LOG_LEVEL_INFO;
-
-// static
-bool LoggingTest::log_message_was_called_ = MOJO_LOG_LEVEL_INFO;
-
-// static
-MojoLogLevel LoggingTest::last_log_level_ = MOJO_LOG_LEVEL_INFO;
-
-// static
-std::string LoggingTest::last_message_;
-
-// static
-bool LoggingTest::not_called_condition_was_called_ = false;
-
-std::string ExpectedLogMessage(int line, const char* message) {
- std::ostringstream s;
- s << OUR_FILENAME "(" << line << "): " << message;
- return s.str();
-}
-
-TEST_F(LoggingTest, InternalLogMessage) {
- internal::LogMessage("foo.cc", 123, MOJO_LOG_LEVEL_INFO).stream() << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ("foo.cc(123): hello world", last_message());
-
- ResetMockLogger();
-
- internal::LogMessage("./path/to/foo.cc", 123, MOJO_LOG_LEVEL_WARNING).stream()
- << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_WARNING, last_log_level());
- EXPECT_EQ("foo.cc(123): hello world", last_message());
-
- ResetMockLogger();
-
- internal::LogMessage("/path/to/foo.cc", 123, MOJO_LOG_LEVEL_ERROR).stream()
- << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_ERROR, last_log_level());
- EXPECT_EQ("foo.cc(123): hello world", last_message());
-
- ResetMockLogger();
-
- internal::LogMessage("path/to/foo.cc", 123, MOJO_LOG_LEVEL_FATAL).stream()
- << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_FATAL, last_log_level());
- EXPECT_EQ("foo.cc(123): hello world", last_message());
-
- ResetMockLogger();
-
- internal::LogMessage(".\\xy\\foo.cc", 123, MOJO_LOG_LEVEL_VERBOSE).stream()
- << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_VERBOSE, last_log_level());
- EXPECT_EQ("foo.cc(123): hello world", last_message());
-
- ResetMockLogger();
-
- internal::LogMessage("xy\\foo.cc", 123, MOJO_LOG_LEVEL_VERBOSE - 1).stream()
- << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_VERBOSE - 1, last_log_level());
- EXPECT_EQ("foo.cc(123): hello world", last_message());
-
- ResetMockLogger();
-
- internal::LogMessage("C:\\xy\\foo.cc", 123, MOJO_LOG_LEVEL_VERBOSE - 9)
- .stream()
- << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_VERBOSE - 9, last_log_level());
- EXPECT_EQ("foo.cc(123): hello world", last_message());
-
- ResetMockLogger();
-
- internal::LogMessage(__FILE__, 123, MOJO_LOG_LEVEL_INFO).stream() << "hello "
- << "world";
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(OUR_FILENAME "(123): hello world", last_message());
-}
-
-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());
-
- 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());
-}
-
-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());
-
- 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());
-
- ResetMockLogger();
-
- MOJO_LAZY_LOG_STREAM(INFO, false) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_LAZY_LOG_STREAM(FATAL, false) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- 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 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, helper.*member_ptr == 0) << "hello";
- EXPECT_FALSE(log_message_was_called());
-}
-
-TEST_F(LoggingTest, ShouldLog) {
- // We start at |MOJO_LOG_LEVEL_INFO|.
- EXPECT_FALSE(MOJO_SHOULD_LOG(VERBOSE));
- EXPECT_TRUE(MOJO_SHOULD_LOG(INFO));
- EXPECT_TRUE(MOJO_SHOULD_LOG(WARNING));
- EXPECT_TRUE(MOJO_SHOULD_LOG(ERROR));
- EXPECT_TRUE(MOJO_SHOULD_LOG(FATAL));
-
- Environment::GetDefaultLogger()->SetMinimumLogLevel(MOJO_LOG_LEVEL_ERROR);
- EXPECT_FALSE(MOJO_SHOULD_LOG(VERBOSE));
- EXPECT_FALSE(MOJO_SHOULD_LOG(INFO));
- EXPECT_FALSE(MOJO_SHOULD_LOG(WARNING));
- EXPECT_TRUE(MOJO_SHOULD_LOG(ERROR));
- EXPECT_TRUE(MOJO_SHOULD_LOG(FATAL));
-
- Environment::GetDefaultLogger()->SetMinimumLogLevel(MOJO_LOG_LEVEL_VERBOSE -
- 1);
- EXPECT_TRUE(MOJO_SHOULD_LOG(VERBOSE));
- EXPECT_TRUE(MOJO_SHOULD_LOG(INFO));
- EXPECT_TRUE(MOJO_SHOULD_LOG(WARNING));
- EXPECT_TRUE(MOJO_SHOULD_LOG(ERROR));
- EXPECT_TRUE(MOJO_SHOULD_LOG(FATAL));
-}
-
-TEST_F(LoggingTest, Log) {
- // We start at |MOJO_LOG_LEVEL_INFO|.
- MOJO_LOG(VERBOSE) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- 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());
-
- 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());
-
- ResetMockLogger();
-
- Environment::GetDefaultLogger()->SetMinimumLogLevel(MOJO_LOG_LEVEL_ERROR);
-
- MOJO_LOG(VERBOSE) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_LOG(INFO) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- 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());
-}
-
-TEST_F(LoggingTest, LogIf) {
- // We start at |MOJO_LOG_LEVEL_INFO|.
- MOJO_LOG_IF(VERBOSE, true) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_LOG_IF(VERBOSE, false) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
- Environment::GetDefaultLogger()->SetMinimumLogLevel(MOJO_LOG_LEVEL_ERROR);
-
- bool x = true;
- // Also try to make sure that we parenthesize the condition properly.
- MOJO_LOG_IF(INFO, false || x) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_LOG_IF(INFO, 0 != 1) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_LOG_IF(WARNING, 1 + 1 == 2) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- 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());
-
- ResetMockLogger();
-
- MOJO_LOG_IF(FATAL, 1 * 2 == 3) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- // |MOJO_LOG_IF()| shouldn't evaluate its condition if the level is below the
- // minimum.
- MOJO_LOG_IF(INFO, NotCalledCondition()) << "hello";
- EXPECT_FALSE(not_called_condition_was_called());
- EXPECT_FALSE(log_message_was_called());
-}
-
-TEST_F(LoggingTest, Check) {
- MOJO_CHECK(true) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- PtrToMemberHelper helper;
- helper.member = 0;
- int PtrToMemberHelper::*member_ptr = &PtrToMemberHelper::member;
-
- // Also try to make sure that we parenthesize the condition properly.
- 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: helper.*member_ptr == 1. hello"),
- last_message());
-
- ResetMockLogger();
-
- // Also test a "naked" |MOJO_CHECK()|s.
- MOJO_CHECK(1 + 2 == 3);
- EXPECT_FALSE(log_message_was_called());
-}
-
-TEST_F(LoggingTest, Dlog) {
- // We start at |MOJO_LOG_LEVEL_INFO|.
- MOJO_DLOG(VERBOSE) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_DLOG(INFO) << "hello";
-#ifdef NDEBUG
- EXPECT_FALSE(log_message_was_called());
-#else
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__ - 6, "hello"), last_message());
-#endif
-}
-
-TEST_F(LoggingTest, DlogIf) {
- // We start at |MOJO_LOG_LEVEL_INFO|. It shouldn't evaluate the condition in
- // this case.
- MOJO_DLOG_IF(VERBOSE, NotCalledCondition()) << "hello";
- EXPECT_FALSE(not_called_condition_was_called());
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_DLOG_IF(INFO, 1 == 0) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_DLOG_IF(INFO, 1 == 1) << "hello";
-#ifdef NDEBUG
- EXPECT_FALSE(log_message_was_called());
-#else
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_INFO, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__ - 6, "hello"), last_message());
-#endif
-
- ResetMockLogger();
-
-// |MOJO_DLOG_IF()| shouldn't compile its condition for non-debug builds.
-#ifndef NDEBUG
- bool debug_only = true;
-#endif
- MOJO_DLOG_IF(WARNING, debug_only) << "hello";
-#ifdef NDEBUG
- EXPECT_FALSE(log_message_was_called());
-#else
- EXPECT_TRUE(log_message_was_called());
- EXPECT_EQ(MOJO_LOG_LEVEL_WARNING, last_log_level());
- EXPECT_EQ(ExpectedLogMessage(__LINE__ - 6, "hello"), last_message());
-#endif
-}
-
-TEST_F(LoggingTest, Dcheck) {
- MOJO_DCHECK(true);
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- MOJO_DCHECK(true) << "hello";
- EXPECT_FALSE(log_message_was_called());
-
- ResetMockLogger();
-
- // |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 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 - 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
-} // namespace mojo
« no previous file with comments | « mojo/public/cpp/environment/tests/logger_unittest.cc ('k') | mojo/public/cpp/system/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698