logger_unittest.cc revision 6d86b77056ed63eb6871182f42a9fd5f07550f90
1// Copyright 2014 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#include "mojo/public/c/environment/logger.h"
6#include "mojo/public/cpp/environment/environment.h"
7#include "testing/gtest/include/gtest/gtest.h"
8
9namespace mojo {
10namespace {
11
12TEST(LoggerTest, Basic) {
13  Environment environment;
14  const MojoLogger* const logger = Environment::GetDefaultLogger();
15
16  logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE-1, "Logged at VERBOSE-1 level");
17  logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE, "Logged at VERBOSE level");
18  logger->LogMessage(MOJO_LOG_LEVEL_INFO, "Logged at INFO level");
19  logger->LogMessage(MOJO_LOG_LEVEL_WARNING, "Logged at WARNING level");
20  logger->LogMessage(MOJO_LOG_LEVEL_ERROR, "Logged at ERROR level");
21
22  // This should kill us:
23  EXPECT_DEATH({
24    logger->LogMessage(MOJO_LOG_LEVEL_FATAL, "Logged at FATAL level");
25  }, "");
26}
27
28TEST(LoggerTest, LogLevels) {
29  Environment environment;
30  const MojoLogger* const logger = Environment::GetDefaultLogger();
31
32  for (MojoLogLevel log_level = MOJO_LOG_LEVEL_VERBOSE-1;
33       log_level <= MOJO_LOG_LEVEL_FATAL+1;
34       log_level++) {
35    logger->SetMinimumLogLevel(log_level);
36
37    if (log_level <= MOJO_LOG_LEVEL_FATAL)
38      EXPECT_EQ(log_level, logger->GetMinimumLogLevel());
39    else
40      EXPECT_EQ(MOJO_LOG_LEVEL_FATAL, logger->GetMinimumLogLevel());
41
42    logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE-1, "Logged at VERBOSE-1 level");
43    logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE, "Logged at VERBOSE level");
44    logger->LogMessage(MOJO_LOG_LEVEL_INFO, "Logged at INFO level");
45    logger->LogMessage(MOJO_LOG_LEVEL_WARNING, "Logged at WARNING level");
46    logger->LogMessage(MOJO_LOG_LEVEL_ERROR, "Logged at ERROR level");
47
48    // This should kill us:
49    EXPECT_DEATH({
50      logger->LogMessage(MOJO_LOG_LEVEL_FATAL, "Logged at FATAL level");
51    }, "");
52  }
53}
54
55}  // namespace
56}  // namespace mojo
57