xref: /aosp_15_r20/external/libbrillo/brillo/syslog_logging_test.cc (revision 1a96fba65179ea7d3f56207137718607415c5953)
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 Li TEST_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