File: spec_helper.rb

package info (click to toggle)
ruby-lumberjack 2.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 956 kB
  • sloc: ruby: 7,957; makefile: 2
file content (94 lines) | stat: -rw-r--r-- 1,751 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# frozen_string_literal: true

require "logger"

require "stringio"
require "fileutils"
require "timecop"
require "tempfile"

begin
  require "simplecov"
  SimpleCov.start do
    add_filter ["/spec/"]
  end
rescue LoadError
end

require 'lumberjack'

Lumberjack.raise_logger_errors = true
Lumberjack.deprecation_mode = :raise

RSpec.configure do |config|
  config.warnings = true
  config.disable_monkey_patching!
  config.default_formatter = "doc" if config.files_to_run.one?
  config.order = :random
  Kernel.srand config.seed

  config.around(:each, :deprecation_mode) do |example|
    Lumberjack::Utils.with_deprecation_mode(example.metadata[:deprecation_mode]) do
      example.run
    end
  end
end

def tmp_dir
  File.join(Dir.tmpdir, "lumberjack_test")
end

def create_tmp_dir
  FileUtils.rm_r(tmp_dir) if File.exist?(tmp_dir)
  FileUtils.mkdir_p(tmp_dir)
end

def delete_tmp_dir
  FileUtils.rm_r(tmp_dir)
end

def delete_tmp_files
  Dir.glob(File.join(tmp_dir, "*")) do |file|
    File.delete(file)
  end
end

# Minimal implementation of a Lumberjack::ContextLogger for testing to ensure that methods from
# Lumberjack::Logger are not polluting any of the logic.
class TestContextLogger
  include Lumberjack::ContextLogger

  attr_reader :entries

  def initialize(context = nil)
    @context = context
    @entries = []
  end

  def add_entry(severity, message, progname = nil, attributes = nil)
    @entries << {
      severity: severity,
      message: message,
      progname: progname,
      attributes: attributes
    }
  end

  private

  def default_context
    @context
  end
end

class TestToLogFormat
  attr_reader :value

  def initialize(value)
    @value = value
  end

  def to_log_format
    "LOG FORMAT: #{@value}"
  end
end