logger_unittest.cc revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
11176bdada62cabc6ec4b0308a930e83b679d5d36John Reck// Copyright 2014 The Chromium Authors. All rights reserved. 21176bdada62cabc6ec4b0308a930e83b679d5d36John Reck// Use of this source code is governed by a BSD-style license that can be 31176bdada62cabc6ec4b0308a930e83b679d5d36John Reck// found in the LICENSE file. 41176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 51176bdada62cabc6ec4b0308a930e83b679d5d36John Reck#include "mojo/public/cpp/environment/default_logger.h" 61176bdada62cabc6ec4b0308a930e83b679d5d36John Reck#include "mojo/public/cpp/environment/environment.h" 71176bdada62cabc6ec4b0308a930e83b679d5d36John Reck#include "testing/gtest/include/gtest/gtest.h" 81176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 91176bdada62cabc6ec4b0308a930e83b679d5d36John Recknamespace mojo { 101176bdada62cabc6ec4b0308a930e83b679d5d36John Recknamespace { 111176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 121176bdada62cabc6ec4b0308a930e83b679d5d36John ReckTEST(LoggerTest, Basic) { 131176bdada62cabc6ec4b0308a930e83b679d5d36John Reck Environment environment; 141176bdada62cabc6ec4b0308a930e83b679d5d36John Reck const MojoLogger* const logger = GetDefaultLogger(); 151176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 161176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE-1, "Logged at VERBOSE-1 level"); 171176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE, "Logged at VERBOSE level"); 181176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_INFO, "Logged at INFO level"); 191176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_WARNING, "Logged at WARNING level"); 201176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_ERROR, "Logged at ERROR level"); 211176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 221176bdada62cabc6ec4b0308a930e83b679d5d36John Reck // This should kill us: 231176bdada62cabc6ec4b0308a930e83b679d5d36John Reck EXPECT_DEATH({ 241176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_FATAL, "Logged at FATAL level"); 251176bdada62cabc6ec4b0308a930e83b679d5d36John Reck }, ""); 261176bdada62cabc6ec4b0308a930e83b679d5d36John Reck} 271176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 281176bdada62cabc6ec4b0308a930e83b679d5d36John ReckTEST(LoggerTest, LogLevels) { 291176bdada62cabc6ec4b0308a930e83b679d5d36John Reck Environment environment; 301176bdada62cabc6ec4b0308a930e83b679d5d36John Reck const MojoLogger* const logger = GetDefaultLogger(); 311176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 321176bdada62cabc6ec4b0308a930e83b679d5d36John Reck for (MojoLogLevel log_level = MOJO_LOG_LEVEL_VERBOSE-1; 331176bdada62cabc6ec4b0308a930e83b679d5d36John Reck log_level <= MOJO_LOG_LEVEL_FATAL+1; 341176bdada62cabc6ec4b0308a930e83b679d5d36John Reck log_level++) { 351176bdada62cabc6ec4b0308a930e83b679d5d36John Reck Environment::SetMinimumLogLevel(log_level); 361176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 371176bdada62cabc6ec4b0308a930e83b679d5d36John Reck if (log_level <= MOJO_LOG_LEVEL_FATAL) 381176bdada62cabc6ec4b0308a930e83b679d5d36John Reck EXPECT_EQ(log_level, logger->GetMinimumLogLevel()); 391176bdada62cabc6ec4b0308a930e83b679d5d36John Reck else 401176bdada62cabc6ec4b0308a930e83b679d5d36John Reck EXPECT_EQ(MOJO_LOG_LEVEL_FATAL, logger->GetMinimumLogLevel()); 411176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 421176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE-1, "Logged at VERBOSE-1 level"); 431176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_VERBOSE, "Logged at VERBOSE level"); 441176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_INFO, "Logged at INFO level"); 451176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_WARNING, "Logged at WARNING level"); 461176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_ERROR, "Logged at ERROR level"); 471176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 481176bdada62cabc6ec4b0308a930e83b679d5d36John Reck // This should kill us: 491176bdada62cabc6ec4b0308a930e83b679d5d36John Reck EXPECT_DEATH({ 501176bdada62cabc6ec4b0308a930e83b679d5d36John Reck logger->LogMessage(MOJO_LOG_LEVEL_FATAL, "Logged at FATAL level"); 511176bdada62cabc6ec4b0308a930e83b679d5d36John Reck }, ""); 521176bdada62cabc6ec4b0308a930e83b679d5d36John Reck } 531176bdada62cabc6ec4b0308a930e83b679d5d36John Reck} 541176bdada62cabc6ec4b0308a930e83b679d5d36John Reck 551176bdada62cabc6ec4b0308a930e83b679d5d36John Reck} // namespace 561176bdada62cabc6ec4b0308a930e83b679d5d36John Reck} // namespace mojo 571176bdada62cabc6ec4b0308a930e83b679d5d36John Reck