• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium OS 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 <base/logging.h>
6 #include <brillo/syslog_logging.h>
7 #include <gtest/gtest.h>
8 
9 namespace brillo {
10 
11 class SyslogLoggingDeathTest : public ::testing::Test {
12  public:
SyslogLoggingDeathTest()13   SyslogLoggingDeathTest() {}
~SyslogLoggingDeathTest()14   virtual ~SyslogLoggingDeathTest() {}
15 
16  private:
17   DISALLOW_COPY_AND_ASSIGN(SyslogLoggingDeathTest);
18 };
19 
TEST_F(SyslogLoggingDeathTest,FatalLoggingIsFatal)20 TEST_F(SyslogLoggingDeathTest, FatalLoggingIsFatal) {
21   int old_flags = GetLogFlags();
22   SetLogFlags(kLogToStderr);
23   EXPECT_DEATH({ LOG(FATAL) << "First Fatality!"; }, "First Fatality!");
24   // No flags == don't log to syslog, stderr, or accumulated string.
25   SetLogFlags(0);
26   // Still a fatal log message
27   EXPECT_DEATH({ LOG(FATAL) << "Second Fatality!"; }, "Second Fatality!");
28   SetLogFlags(old_flags);
29 }
30 
31 }  // namespace brillo
32