1# Copyright 2014 The Chromium OS Authors. All rights reserved. Use of 2# this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import time 6 7from autotest_lib.client.bin import test 8from autotest_lib.client.common_lib import error 9from autotest_lib.client.common_lib import utils 10 11class platform_LogNonKernelKmsg(test.test): 12 """Test that we log non-kernel messages via /dev/kmsg""" 13 KLOG_PATH = '/dev/kmsg' 14 SYSLOG_BIN = 'rsyslogd' 15 SYSLOG_JOB = 'syslog' 16 SYSTEM_LOG_PATH = '/var/log/messages' 17 version = 1 18 19 20 def run_once(self): 21 utils.run('truncate -s 0 %s' % self.SYSTEM_LOG_PATH) 22 our_message = 'non-kernel message generated at %d\n' % time.time() 23 with open(self.KLOG_PATH, 'w') as outfile: 24 outfile.write(our_message) 25 26 cmd_result = utils.run( 27 'grep "%s" %s' % (our_message, self.SYSTEM_LOG_PATH), 28 ignore_status=True) 29 if cmd_result.exit_status: 30 raise error.TestFail( 31 'our log message did not appear in %s' % self.SYSTEM_LOG_PATH) 32