1*1a96fba6SXin Li // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. 2*1a96fba6SXin Li // Use of this source code is governed by a BSD-style license that can be 3*1a96fba6SXin Li // found in the LICENSE file. 4*1a96fba6SXin Li 5*1a96fba6SXin Li #include <base/logging.h> 6*1a96fba6SXin Li #include <brillo/syslog_logging.h> 7*1a96fba6SXin Li #include <gtest/gtest.h> 8*1a96fba6SXin Li 9*1a96fba6SXin Li namespace brillo { 10*1a96fba6SXin Li 11*1a96fba6SXin Li class SyslogLoggingDeathTest : public ::testing::Test { 12*1a96fba6SXin Li public: SyslogLoggingDeathTest()13*1a96fba6SXin Li SyslogLoggingDeathTest() {} ~SyslogLoggingDeathTest()14*1a96fba6SXin Li virtual ~SyslogLoggingDeathTest() {} 15*1a96fba6SXin Li 16*1a96fba6SXin Li private: 17*1a96fba6SXin Li DISALLOW_COPY_AND_ASSIGN(SyslogLoggingDeathTest); 18*1a96fba6SXin Li }; 19*1a96fba6SXin Li TEST_F(SyslogLoggingDeathTest,FatalLoggingIsFatal)20*1a96fba6SXin LiTEST_F(SyslogLoggingDeathTest, FatalLoggingIsFatal) { 21*1a96fba6SXin Li int old_flags = GetLogFlags(); 22*1a96fba6SXin Li SetLogFlags(kLogToStderr); 23*1a96fba6SXin Li EXPECT_DEATH({ LOG(FATAL) << "First Fatality!"; }, "First Fatality!"); 24*1a96fba6SXin Li // No flags == don't log to syslog, stderr, or accumulated string. 25*1a96fba6SXin Li SetLogFlags(0); 26*1a96fba6SXin Li // Still a fatal log message 27*1a96fba6SXin Li EXPECT_DEATH({ LOG(FATAL) << "Second Fatality!"; }, "Second Fatality!"); 28*1a96fba6SXin Li SetLogFlags(old_flags); 29*1a96fba6SXin Li } 30*1a96fba6SXin Li 31*1a96fba6SXin Li } // namespace brillo 32