summaryrefslogtreecommitdiff
path: root/test/syslog/test_syslog_logger.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/syslog/test_syslog_logger.rb')
-rw-r--r--test/syslog/test_syslog_logger.rb588
1 files changed, 0 insertions, 588 deletions
diff --git a/test/syslog/test_syslog_logger.rb b/test/syslog/test_syslog_logger.rb
deleted file mode 100644
index d9ffae3901..0000000000
--- a/test/syslog/test_syslog_logger.rb
+++ /dev/null
@@ -1,588 +0,0 @@
-# coding: US-ASCII
-# frozen_string_literal: false
-require 'test/unit'
-require 'tempfile'
-begin
- require 'syslog/logger'
-rescue LoadError
- # skip. see the bottom of this file.
-end
-
-# These tests ensure Syslog::Logger works like Logger
-
-class TestSyslogRootLogger < Test::Unit::TestCase
-
- module MockSyslog
-
- PRIMASK = Syslog::Level.constants.inject(0) { |mask, name| mask | Syslog::Level.const_get(name) }
-
- LEVEL_LABEL_MAP = {
- Syslog::LOG_ALERT => 'ALERT',
- Syslog::LOG_ERR => 'ERR',
- Syslog::LOG_WARNING => 'WARNING',
- Syslog::LOG_NOTICE => 'NOTICE',
- Syslog::LOG_INFO => 'INFO',
- Syslog::LOG_DEBUG => 'DEBUG'
- }
-
- @facility = Syslog::LOG_USER
-
- class << self
-
- attr_reader :facility
- attr_reader :line
- attr_reader :program_name
-
- def log(priority, format, *args)
- level = priority & PRIMASK
- @line = "<#{priority}> #{LEVEL_LABEL_MAP[level]} - #{format % args}"
- end
-
- def open(program_name)
- @program_name = program_name
- end
-
- def reset
- @line = ''
- end
-
- end
- end
-
- Syslog::Logger.syslog = MockSyslog
-
- LEVEL_LABEL_MAP = {
- Logger::DEBUG => 'DEBUG',
- Logger::INFO => 'INFO',
- Logger::WARN => 'WARN',
- Logger::ERROR => 'ERROR',
- Logger::FATAL => 'FATAL',
- Logger::UNKNOWN => 'ANY',
- }
-
- def setup
- @logger = Logger.new(nil)
- end
-
- class Log
- attr_reader :line, :label, :datetime, :pid, :severity, :progname, :msg
- def initialize(line)
- @line = line
- /\A(\w+), \[([^#]*)#(\d+)\]\s+(\w+) -- (\w*): ([\x0-\xff]*)/ =~ @line
- @label, @datetime, @pid, @severity, @progname, @msg = $1, $2, $3, $4, $5, $6
- end
- end
-
- def log_add(severity, msg, progname = nil, &block)
- log(:add, severity, msg, progname, &block)
- end
-
- def log(msg_id, *arg, &block)
- Log.new(log_raw(msg_id, *arg, &block))
- end
-
- def log_raw(msg_id, *arg, &block)
- Tempfile.create(File.basename(__FILE__) + '.log') {|logdev|
- @logger.instance_eval { @logdev = Logger::LogDevice.new(logdev) }
- assert_equal true, @logger.__send__(msg_id, *arg, &block)
- logdev.rewind
- logdev.read
- }
- end
-
- def test_initialize
- assert_equal Logger::DEBUG, @logger.level
- end
-
- def test_custom_formatter
- @logger.formatter = Class.new {
- def call severity, time, progname, msg
- "hi mom!"
- end
- }.new
-
- assert_match(/hi mom!/, log_raw(:fatal, 'fatal level message'))
- end
-
- def test_add
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal LEVEL_LABEL_MAP[Logger::INFO], msg.severity
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal LEVEL_LABEL_MAP[Logger::DEBUG], msg.severity
- end
-
- def test_add_level_unknown
- @logger.level = Logger::UNKNOWN
-
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal '', msg.line
- end
-
- def test_add_level_fatal
- @logger.level = Logger::FATAL
-
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal '', msg.line
- end
-
- def test_add_level_error
- @logger.level = Logger::ERROR
-
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal '', msg.line
- end
-
- def test_add_level_warn
- @logger.level = Logger::WARN
-
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal '', msg.line
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal '', msg.line
- end
-
- def test_add_level_info
- @logger.level = Logger::INFO
-
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal LEVEL_LABEL_MAP[Logger::INFO], msg.severity
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal '', msg.line
- end
-
- def test_add_level_debug
- @logger.level = Logger::DEBUG
-
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal LEVEL_LABEL_MAP[Logger::INFO], msg.severity
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal LEVEL_LABEL_MAP[Logger::DEBUG], msg.severity
- end
-
- def test_unknown
- msg = log :unknown, 'unknown level message'
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- @logger.level = Logger::UNKNOWN
- msg = log :unknown, 'unknown level message'
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- @logger.level = Logger::FATAL
- msg = log :unknown, 'unknown level message'
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- @logger.level = Logger::ERROR
- msg = log :unknown, 'unknown level message'
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- @logger.level = Logger::WARN
- msg = log :unknown, 'unknown level message'
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- @logger.level = Logger::INFO
- msg = log :unknown, 'unknown level message'
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
-
- @logger.level = Logger::DEBUG
- msg = log :unknown, 'unknown level message'
- assert_equal LEVEL_LABEL_MAP[Logger::UNKNOWN], msg.severity
- end
-
- def test_fatal
- msg = log :fatal, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- @logger.level = Logger::UNKNOWN
- msg = log :fatal, 'fatal level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::FATAL
- msg = log :fatal, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- @logger.level = Logger::ERROR
- msg = log :fatal, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- @logger.level = Logger::WARN
- msg = log :fatal, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- @logger.level = Logger::INFO
- msg = log :fatal, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
-
- @logger.level = Logger::DEBUG
- msg = log :fatal, 'fatal level message'
- assert_equal LEVEL_LABEL_MAP[Logger::FATAL], msg.severity
- end
-
- def test_fatal_eh
- @logger.level = Logger::FATAL
- assert_equal true, @logger.fatal?
-
- @logger.level = Logger::UNKNOWN
- assert_equal false, @logger.fatal?
- end
-
- def test_error
- msg = log :error, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- @logger.level = Logger::UNKNOWN
- msg = log :error, 'error level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::FATAL
- msg = log :error, 'error level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::ERROR
- msg = log :error, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- @logger.level = Logger::WARN
- msg = log :error, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- @logger.level = Logger::INFO
- msg = log :error, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
-
- @logger.level = Logger::DEBUG
- msg = log :error, 'error level message'
- assert_equal LEVEL_LABEL_MAP[Logger::ERROR], msg.severity
- end
-
- def test_error_eh
- @logger.level = Logger::ERROR
- assert_equal true, @logger.error?
-
- @logger.level = Logger::FATAL
- assert_equal false, @logger.error?
- end
-
- def test_warn
- msg = log :warn, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
-
- @logger.level = Logger::UNKNOWN
- msg = log :warn, 'warn level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::FATAL
- msg = log :warn, 'warn level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::ERROR
- msg = log :warn, 'warn level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::WARN
- msg = log :warn, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
-
- @logger.level = Logger::INFO
- msg = log :warn, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
-
- @logger.level = Logger::DEBUG
- msg = log :warn, 'warn level message'
- assert_equal LEVEL_LABEL_MAP[Logger::WARN], msg.severity
- end
-
- def test_warn_eh
- @logger.level = Logger::WARN
- assert_equal true, @logger.warn?
-
- @logger.level = Logger::ERROR
- assert_equal false, @logger.warn?
- end
-
- def test_info
- msg = log :info, 'info level message'
- assert_equal LEVEL_LABEL_MAP[Logger::INFO], msg.severity
-
- @logger.level = Logger::UNKNOWN
- msg = log :info, 'info level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::FATAL
- msg = log :info, 'info level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::ERROR
- msg = log :info, 'info level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::WARN
- msg = log :info, 'info level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::INFO
- msg = log :info, 'info level message'
- assert_equal LEVEL_LABEL_MAP[Logger::INFO], msg.severity
-
- @logger.level = Logger::DEBUG
- msg = log :info, 'info level message'
- assert_equal LEVEL_LABEL_MAP[Logger::INFO], msg.severity
- end
-
- def test_info_eh
- @logger.level = Logger::INFO
- assert_equal true, @logger.info?
-
- @logger.level = Logger::WARN
- assert_equal false, @logger.info?
- end
-
- def test_debug
- msg = log :debug, 'debug level message'
- assert_equal LEVEL_LABEL_MAP[Logger::DEBUG], msg.severity
-
- @logger.level = Logger::UNKNOWN
- msg = log :debug, 'debug level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::FATAL
- msg = log :debug, 'debug level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::ERROR
- msg = log :debug, 'debug level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::WARN
- msg = log :debug, 'debug level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::INFO
- msg = log :debug, 'debug level message'
- assert_equal '', msg.line
-
- @logger.level = Logger::DEBUG
- msg = log :debug, 'debug level message'
- assert_equal LEVEL_LABEL_MAP[Logger::DEBUG], msg.severity
- end
-
- def test_debug_eh
- @logger.level = Logger::DEBUG
- assert_equal true, @logger.debug?
-
- @logger.level = Logger::INFO
- assert_equal false, @logger.debug?
- end
-
-end if defined?(Syslog)
-
-class TestSyslogLogger < TestSyslogRootLogger
-
- @facility = Syslog::LOG_USER
-
- def facility
- self.class.instance_variable_get("@facility")
- end
-
- def setup
- super
- @logger = Syslog::Logger.new
- end
-
- SEVERITY_MAP = {}.tap { |map|
- level2severity = Syslog::Logger::LEVEL_MAP.invert
-
- MockSyslog::LEVEL_LABEL_MAP.each { |level, name|
- map[name] = TestSyslogRootLogger::LEVEL_LABEL_MAP[level2severity[level]]
- }
- }
-
- class Log
- attr_reader :line, :label, :datetime, :pid, :severity, :progname, :msg, :priority
- def initialize(line)
- @line = line
- return unless /\A<(\d+)> (\w+) - (.*)\Z/ =~ @line
- priority, severity, @msg = $1, $2, $3
- @severity = SEVERITY_MAP[severity]
- @priority = priority.to_i
- end
- end
-
- def log_add(severity, msg, progname = nil, &block)
- log(:add, severity, msg, progname, &block)
- end
-
- def log(msg_id, *arg, &block)
- Log.new(log_raw(msg_id, *arg, &block))
- end
-
- def log_raw(msg_id, *arg, &block)
- assert_equal true, @logger.__send__(msg_id, *arg, &block)
- msg = MockSyslog.line
- MockSyslog.reset
- return msg
- end
-
- def test_unknown_eh
- @logger.level = Logger::UNKNOWN
- assert_equal true, @logger.unknown?
-
- @logger.level = Logger::UNKNOWN + 1
- assert_equal false, @logger.unknown?
- end
-
- def test_facility
- assert_equal facility, @logger.facility
- end
-
- def test_priority
- msg = log_add nil, 'unknown level message' # nil == unknown
- assert_equal facility|Syslog::LOG_ALERT, msg.priority
-
- msg = log_add Logger::FATAL, 'fatal level message'
- assert_equal facility|Syslog::LOG_ERR, msg.priority
-
- msg = log_add Logger::ERROR, 'error level message'
- assert_equal facility|Syslog::LOG_WARNING, msg.priority
-
- msg = log_add Logger::WARN, 'warn level message'
- assert_equal facility|Syslog::LOG_NOTICE, msg.priority
-
- msg = log_add Logger::INFO, 'info level message'
- assert_equal facility|Syslog::LOG_INFO, msg.priority
-
- msg = log_add Logger::DEBUG, 'debug level message'
- assert_equal facility|Syslog::LOG_DEBUG, msg.priority
- end
-
- class CustomSyslogLogger < Syslog::Logger
- def level
- Logger::INFO
- end
- end
-
- def test_overriding_level
- @logger = CustomSyslogLogger.new
- log = log_add Logger::INFO, 'msg'
- assert_equal 'msg', log.msg
-
- log = log_add Logger::DEBUG, 'msg'
- assert_nil log.msg
- end
-
-end if defined?(Syslog)
-
-
-# Create test class for each available facility
-
-Syslog::Facility.constants.each do |facility_symb|
-
- test_syslog_class = Class.new(TestSyslogLogger) do
-
- @facility = Syslog.const_get(facility_symb)
-
- def setup
- super
- @logger.facility = facility
- end
-
- end
- Object.const_set("TestSyslogLogger_#{facility_symb}", test_syslog_class)
-
-end if defined?(Syslog)