minitest-logger 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/example_assertions.rb +17 -1
- data/lib/minitest-logger.rb +23 -6
- data/rakefile_minitest-logger.rb +16 -4
- data/unittest/test_minitest-log4r.rb +22 -1
- data/unittest/test_minitest-logger.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba0c91db89d97486f23faab9cc94c20ab608924a
|
4
|
+
data.tar.gz: 1cd9a91cf67368dbb1dbaf63f2aebb5d2b41ae62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 271cfa411945e848ec599552672589bf284a5a9acccdce2830bd01a0ec779a2fa4778b92462256818130c3e8bc878da87c7dc69637339239aa5b9c12a6d2b26b
|
7
|
+
data.tar.gz: 43dd271d64fb87d5700cc0ba882b313b3a7093324d100aada7223cc524df292e2afdc369be42988cca06508619b2937fdc5f12b06df8130e87c49742438e7cde
|
@@ -72,6 +72,12 @@ LOG
|
|
72
72
|
}
|
73
73
|
end
|
74
74
|
|
75
|
+
class MyFormatter < Log4r::BasicFormatter
|
76
|
+
def format(event)
|
77
|
+
event.data
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
75
81
|
=begin rdoc
|
76
82
|
Make tests of Module TestExamples with Log4r::Logger-instance.
|
77
83
|
=end
|
@@ -81,7 +87,17 @@ Make tests of Module TestExamples with Log4r::Logger-instance.
|
|
81
87
|
@log = Log4r::Logger.new('log')
|
82
88
|
@log.level = Log4r::INFO
|
83
89
|
#~ @log.level = Log4r::WARN
|
84
|
-
end
|
90
|
+
end
|
91
|
+
#Test for changed formatter
|
92
|
+
def test_formatter
|
93
|
+
@formatter = :xx
|
94
|
+
assert_raises(TypeError){
|
95
|
+
assert_log(" INFO log: Hello World\n"){ @log.info("Hello World") }
|
96
|
+
}
|
97
|
+
@formatter = MyFormatter
|
98
|
+
assert_log("Hello World"){ @log.info("Hello World") }
|
99
|
+
end
|
100
|
+
|
85
101
|
end
|
86
102
|
|
87
103
|
=begin rdoc
|
data/lib/minitest-logger.rb
CHANGED
@@ -105,17 +105,20 @@ Example:
|
|
105
105
|
def setup # :nodoc:
|
106
106
|
@testee = Testee.new(...)
|
107
107
|
@log = @testee.log
|
108
|
+
# @formatter = Log4r::StdoutOutputter
|
108
109
|
end
|
109
110
|
...
|
110
111
|
end
|
111
112
|
=end
|
112
113
|
class Test
|
113
|
-
#
|
114
|
+
#Define the logger for Assertions#assert_log.
|
114
115
|
#It is recommended to define the logger in #setup or as an option of Assertions#assert_log
|
115
116
|
attr_accessor :log
|
117
|
+
#Define a formatter for the temporary logger Log4r::StdoutOutputter
|
118
|
+
attr_accessor :formatter
|
116
119
|
end
|
117
120
|
|
118
|
-
Logger_VERSION = '0.1.
|
121
|
+
Logger_VERSION = '0.1.1'
|
119
122
|
module Assertions
|
120
123
|
=begin rdoc
|
121
124
|
Evaluate block and collect the messages of a logger.
|
@@ -127,8 +130,12 @@ of adapt the logger itself.
|
|
127
130
|
Attention: The level of the logger has a higher priority the the level of the outputter.
|
128
131
|
If the logger logs no DEBUG-messages, the output will also be empty,
|
129
132
|
independent of the value of this parameter.
|
133
|
+
|
134
|
+
==Argument formatter
|
135
|
+
If you want to test with a special formatter you can define it
|
136
|
+
with this parameter.
|
130
137
|
=end
|
131
|
-
def logger_evaluation(log, level=nil)
|
138
|
+
def logger_evaluation(log, level=nil, formatter = nil)
|
132
139
|
raise ArgumentError unless defined? log
|
133
140
|
raise ArgumentError unless block_given?
|
134
141
|
|
@@ -136,6 +143,7 @@ independent of the value of this parameter.
|
|
136
143
|
when 'Log4r::Logger'
|
137
144
|
log.outputters << outputter = Log4r::StringOutputter.new('stringoutputter')
|
138
145
|
outputter.level = level if level
|
146
|
+
outputter.formatter = formatter if formatter
|
139
147
|
when 'Logger'
|
140
148
|
log.catch_messages(level)
|
141
149
|
end
|
@@ -149,6 +157,7 @@ independent of the value of this parameter.
|
|
149
157
|
return logtext
|
150
158
|
end #logger_evaluation
|
151
159
|
=begin rdoc
|
160
|
+
Define new assertion assert_log
|
152
161
|
|
153
162
|
==Options
|
154
163
|
===Define test logger (:log)
|
@@ -171,16 +180,24 @@ See also #logger_evaluation for more information
|
|
171
180
|
|
172
181
|
msg = message(msg, E) { diff exp, act }
|
173
182
|
assert exp == act, msg
|
174
|
-
|
175
|
-
=end
|
176
183
|
|
184
|
+
==Define a formatter (Only Log4r)
|
185
|
+
If you want to test with a special formatter you can define it
|
186
|
+
with this parameter.
|
187
|
+
|
188
|
+
The default can be set with #formatter and during the setup.
|
189
|
+
|
190
|
+
=end
|
177
191
|
def assert_log(expected, msg=nil, options = {}, &block)
|
178
192
|
if msg.is_a?(Hash)
|
179
193
|
options = msg
|
180
194
|
msg = nil
|
181
195
|
end
|
182
196
|
|
183
|
-
logtext = logger_evaluation(options[:log] || @log,
|
197
|
+
logtext = logger_evaluation(options[:log] || @log,
|
198
|
+
options[:level],
|
199
|
+
options[:formatter] || @formatter,
|
200
|
+
&block)
|
184
201
|
|
185
202
|
err_msg = Regexp === expected ? :assert_match : :assert_equal
|
186
203
|
send err_msg, expected, logtext, message(msg) { "Logger #{options[:log] || @log} logs unexpected messages" }
|
data/rakefile_minitest-logger.rb
CHANGED
@@ -8,12 +8,17 @@ Collect only errors/warnings....:
|
|
8
8
|
+ assert_warn
|
9
9
|
|
10
10
|
=end
|
11
|
+
$:.unshift('c:/usr/script/knut/knut-testtask/lib')
|
12
|
+
$:.unshift('c:/usr/script/knut/knut-gempackager/lib')
|
11
13
|
require 'knut-gempackager'
|
12
14
|
|
13
15
|
require '../knut_pw.rb'
|
14
16
|
$:.unshift('lib')
|
15
17
|
require 'minitest-logger'
|
16
|
-
$minitest_logger_version = "0.1.
|
18
|
+
$minitest_logger_version = "0.1.2.beta"
|
19
|
+
$minitest_logger_version = "0.1.1"
|
20
|
+
Minitest::Logger_VERSION = $minitest_logger_version #while it is beta
|
21
|
+
|
17
22
|
|
18
23
|
#http://docs.rubygems.org/read/chapter/20
|
19
24
|
gem_minitest_logger = Knut::Gem_packer.new('minitest-logger', $minitest_logger_version){ |gemdef, s|
|
@@ -60,7 +65,7 @@ Supports Logger and Log4r::Logger.
|
|
60
65
|
}
|
61
66
|
|
62
67
|
#~ s.add_dependency('')
|
63
|
-
s.add_dependency('minitest','>= 0') #tested with "5.5.1" (rb1.9.3 + rb 2.1.5)
|
68
|
+
s.add_dependency('minitest', '>= 0') #tested with "5.5.1" (rb1.9.3 + rb 2.1.5)
|
64
69
|
#~ s.add_dependency('log4r')
|
65
70
|
|
66
71
|
#~ s.add_development_dependency()
|
@@ -88,8 +93,8 @@ end
|
|
88
93
|
#~ desc "Gem minitest-logger"
|
89
94
|
#~ task :default => :check
|
90
95
|
#~ task :default => :test
|
91
|
-
|
92
|
-
|
96
|
+
task :default => :gem
|
97
|
+
task :default => :install
|
93
98
|
#~ task :default => :hanna
|
94
99
|
#~ task :default => :rdoc_local
|
95
100
|
#~ task :default => :links
|
@@ -102,3 +107,10 @@ if $0 == __FILE__
|
|
102
107
|
app[:default].invoke
|
103
108
|
end
|
104
109
|
__END__
|
110
|
+
|
111
|
+
Versions:
|
112
|
+
0.1.0 2015-04-16 https://rubygems.org/gems/minitest-logger/versions/0.1.0
|
113
|
+
* Initial version
|
114
|
+
|
115
|
+
0.1.1
|
116
|
+
* Add option formatter for log4r
|
@@ -10,6 +10,15 @@ $:.unshift('../lib')
|
|
10
10
|
#~ require 'minitest-logger'
|
11
11
|
require 'minitest/log4r'
|
12
12
|
|
13
|
+
|
14
|
+
class MyFormatter < Log4r::BasicFormatter
|
15
|
+
def format(event)
|
16
|
+
"Other formatter: %s" % event.data
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
|
13
22
|
class Test_minitest_log4r < MiniTest::Test
|
14
23
|
def setup
|
15
24
|
@log = Log4r::Logger.new('log')
|
@@ -35,7 +44,19 @@ class Test_minitest_log4r < MiniTest::Test
|
|
35
44
|
@log.warn("Hello World")
|
36
45
|
}
|
37
46
|
end
|
38
|
-
|
47
|
+
|
48
|
+
def test_formatter
|
49
|
+
@formatter = MyFormatter #Replace formatter
|
50
|
+
assert_log("Other formatter: Hello World"){
|
51
|
+
@log.warn("Hello World")
|
52
|
+
}
|
53
|
+
end
|
54
|
+
def test_formatter_option
|
55
|
+
assert_log("Other formatter: Hello World", :formatter => MyFormatter ){ #Replace formatter
|
56
|
+
@log.warn("Hello World")
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
39
60
|
def test_regexp
|
40
61
|
assert_log(/Hello World/){ @log.info("Hello World") }
|
41
62
|
assert_log(/Hello/){ @log.info("Hello World") }
|
@@ -15,7 +15,7 @@ class Test_minitest_logger_with_Logger_format < MiniTest::Test
|
|
15
15
|
def setup
|
16
16
|
@log = Logger.new(IO.new(File::RDONLY,'w'))
|
17
17
|
@log.level = Logger::INFO
|
18
|
-
#Same format as
|
18
|
+
#Same format as Log4r
|
19
19
|
@log.formatter = proc{ |serverity, time, progname, msg|
|
20
20
|
"%5s log: %s\n" % [serverity, msg]
|
21
21
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Knut Lickert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|