turn 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +7 -0
- data/README.md +1 -1
- data/Version.txt +1 -1
- data/lib/turn/colorize.rb +4 -0
- data/lib/turn/command.rb +19 -1
- data/lib/turn/configuration.rb +12 -2
- data/lib/turn/reporter.rb +5 -3
- data/lib/turn/reporters/cue_reporter.rb +2 -1
- data/lib/turn/reporters/outline_reporter.rb +3 -7
- data/lib/turn/reporters/pretty_reporter.rb +19 -6
- data/lib/turn/runners/minirunner.rb +1 -1
- data/lib/turn/version.rb +1 -1
- metadata +8 -8
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
== 0.9.5 / 2012-04-15
|
2
|
+
* Add -m/-mark option to flag tests with high runtimes.
|
3
|
+
* Show per-test runtime in Pretty reporter. (#83)
|
4
|
+
* Fix colorization of result box. (Don Wilson) (#81, #85)
|
5
|
+
* Add support for natural test names in pretty format. (Don Wilson) (#86)
|
6
|
+
* Fix test rake task on Windows. (Don Wilson) (#88)
|
7
|
+
|
1
8
|
== 0.9.4 / 2012-03-16
|
2
9
|
* Fix dot reporter to use `.` instead of `S` for passed tests.
|
3
10
|
* Do not filter backtraces of local directory.
|
data/README.md
CHANGED
@@ -88,7 +88,7 @@ For a Rails application, put the require line into the 'test/test_helper.rb'
|
|
88
88
|
script. Now your Rails tests will use TURN formatting.
|
89
89
|
|
90
90
|
<b>Note:</b> This changed in version 0.9. It used to be just `require 'turn'`,
|
91
|
-
but
|
91
|
+
but because of how `bundle exec` works, it was better to require a subdirectory
|
92
92
|
file.
|
93
93
|
|
94
94
|
### Configuration
|
data/Version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.5
|
data/lib/turn/colorize.rb
CHANGED
data/lib/turn/command.rb
CHANGED
@@ -76,6 +76,12 @@ module Turn
|
|
76
76
|
# Use natural test case names.
|
77
77
|
attr :natural
|
78
78
|
|
79
|
+
# Show extra information.
|
80
|
+
attr :verbose
|
81
|
+
|
82
|
+
# Show extra information.
|
83
|
+
attr :mark
|
84
|
+
|
79
85
|
# Force ANSI use on or off.
|
80
86
|
attr :ansi
|
81
87
|
|
@@ -91,6 +97,8 @@ module Turn
|
|
91
97
|
@outmode = nil
|
92
98
|
@trace = nil
|
93
99
|
@natural = false
|
100
|
+
@verbose = false
|
101
|
+
@mark = nil
|
94
102
|
@ansi = nil
|
95
103
|
end
|
96
104
|
|
@@ -131,6 +139,10 @@ module Turn
|
|
131
139
|
end
|
132
140
|
end
|
133
141
|
|
142
|
+
opts.on('-m', '--mark=SECONDS', "Mark test if it exceeds runtime threshold.") do |int|
|
143
|
+
@mark = int.to_i
|
144
|
+
end
|
145
|
+
|
134
146
|
opts.on('-b', '--backtrace', '--trace INT', "Limit the number of lines of backtrace.") do |int|
|
135
147
|
@trace = int
|
136
148
|
end
|
@@ -139,6 +151,10 @@ module Turn
|
|
139
151
|
@natural = bool
|
140
152
|
end
|
141
153
|
|
154
|
+
opts.on('-v', '--verbose', "Show extra information.") do |bool|
|
155
|
+
@verbose = bool
|
156
|
+
end
|
157
|
+
|
142
158
|
opts.on('--[no-]ansi', "Force use of ANSI codes on or off.") do |bool|
|
143
159
|
@ansi = bool
|
144
160
|
end
|
@@ -218,7 +234,7 @@ module Turn
|
|
218
234
|
exit
|
219
235
|
end
|
220
236
|
|
221
|
-
opts.on_tail('
|
237
|
+
opts.on_tail('-h', '--help', "display this help information") do
|
222
238
|
puts opts
|
223
239
|
exit
|
224
240
|
end
|
@@ -246,6 +262,8 @@ module Turn
|
|
246
262
|
c.matchcase = matchcase
|
247
263
|
c.trace = trace
|
248
264
|
c.natural = natural
|
265
|
+
c.verbose = verbose
|
266
|
+
c.mark = mark
|
249
267
|
c.ansi = ansi unless ansi.nil?
|
250
268
|
end
|
251
269
|
|
data/lib/turn/configuration.rb
CHANGED
@@ -48,7 +48,11 @@ module Turn
|
|
48
48
|
# Verbose output?
|
49
49
|
attr_accessor :verbose
|
50
50
|
|
51
|
-
#
|
51
|
+
# Runtime threshold.
|
52
|
+
attr_accessor :mark
|
53
|
+
|
54
|
+
# Test framework, either `:minitest` or `:testunit`.
|
55
|
+
# @todo Is this used any more?
|
52
56
|
attr_accessor :framework
|
53
57
|
|
54
58
|
# Enable full backtrace
|
@@ -93,6 +97,7 @@ module Turn
|
|
93
97
|
@matchcase ||= nil
|
94
98
|
@pattern ||= /.*/
|
95
99
|
@natural ||= false
|
100
|
+
@verbose ||= false
|
96
101
|
@format ||= environment_format
|
97
102
|
@trace ||= environment_trace
|
98
103
|
@ansi ||= environment_ansi
|
@@ -175,7 +180,7 @@ module Turn
|
|
175
180
|
# Select reporter based on output mode.
|
176
181
|
def reporter
|
177
182
|
@reporter ||= (
|
178
|
-
opts =
|
183
|
+
opts = reporter_options
|
179
184
|
case format
|
180
185
|
when :marshal
|
181
186
|
require 'turn/reporters/marshal_reporter'
|
@@ -202,6 +207,11 @@ module Turn
|
|
202
207
|
)
|
203
208
|
end
|
204
209
|
|
210
|
+
#
|
211
|
+
def reporter_options
|
212
|
+
{ :trace=>trace, :natural=>natural?, :verbose=>verbose?, :mark=>mark }
|
213
|
+
end
|
214
|
+
|
205
215
|
#
|
206
216
|
def environment_format
|
207
217
|
ENV['rpt']
|
data/lib/turn/reporter.rb
CHANGED
@@ -21,6 +21,8 @@ module Turn
|
|
21
21
|
@io = io || $stdout
|
22
22
|
@trace = opts[:trace]
|
23
23
|
@natural = opts[:natural]
|
24
|
+
@verbose = opts[:verbose]
|
25
|
+
@mark = opts[:mark].to_i
|
24
26
|
end
|
25
27
|
|
26
28
|
# These methods are called in the process of running the tests.
|
@@ -105,12 +107,12 @@ module Turn
|
|
105
107
|
@trace ? backtrace[0, @trace.to_i] : backtrace
|
106
108
|
end
|
107
109
|
|
108
|
-
#
|
110
|
+
# Returns a more readable test name with spaces instead of underscores
|
109
111
|
def naturalized_name(test)
|
110
112
|
if @natural
|
111
|
-
|
113
|
+
test.name.gsub("test_", "").gsub(/_/, " ")
|
112
114
|
else
|
113
|
-
|
115
|
+
test.name
|
114
116
|
end
|
115
117
|
end
|
116
118
|
|
@@ -49,7 +49,7 @@ module Turn
|
|
49
49
|
# @FIXME: Should we move naturalized_name to test itself?
|
50
50
|
name = naturalized_name(test)
|
51
51
|
|
52
|
-
io.print "
|
52
|
+
io.print " %-57s" % name
|
53
53
|
|
54
54
|
@stdout.rewind
|
55
55
|
@stderr.rewind
|
@@ -165,11 +165,7 @@ module Turn
|
|
165
165
|
skips = suite.count_skips
|
166
166
|
|
167
167
|
bar = '=' * 78
|
168
|
-
|
169
|
-
if colorize?
|
170
|
-
bar = if pass == total then Colorize.green(bar)
|
171
|
-
else Colorize.red(bar) end
|
172
|
-
end
|
168
|
+
bar = passes == total ? Colorize.green(bar) : Colorize.red(bar)
|
173
169
|
|
174
170
|
# @FIXME: Should we add suite.runtime, instead if this lame time calculations?
|
175
171
|
tally = [total, assertions, (Time.new - @time)]
|
@@ -182,4 +178,4 @@ module Turn
|
|
182
178
|
|
183
179
|
end
|
184
180
|
|
185
|
-
end
|
181
|
+
end
|
@@ -62,21 +62,21 @@ module Turn
|
|
62
62
|
def fail(assertion, message=nil)
|
63
63
|
banner FAIL
|
64
64
|
|
65
|
-
prettify(
|
65
|
+
prettify(assertion, message)
|
66
66
|
end
|
67
67
|
|
68
68
|
# Invoked when a test raises an exception.
|
69
69
|
def error(exception, message=nil)
|
70
70
|
banner ERROR
|
71
71
|
|
72
|
-
prettify(
|
72
|
+
prettify(exception, message)
|
73
73
|
end
|
74
74
|
|
75
75
|
# Invoked when a test is skipped.
|
76
76
|
def skip(exception, message=nil)
|
77
77
|
banner SKIP
|
78
78
|
|
79
|
-
prettify(
|
79
|
+
prettify(exception, message)
|
80
80
|
end
|
81
81
|
|
82
82
|
# Invoked after all tests in a testcase have ben run.
|
@@ -117,12 +117,25 @@ module Turn
|
|
117
117
|
str
|
118
118
|
end
|
119
119
|
|
120
|
+
# TODO: Could also provide % done with time info. But it's already taking up
|
121
|
+
# a lot of screen realestate. Maybe use --verbose flag to offer two forms.
|
122
|
+
|
120
123
|
# Outputs test case header for given event (error, fail & etc)
|
121
124
|
#
|
122
125
|
# Example:
|
123
|
-
# PASS test: Test decription. (0:00:02:059)
|
126
|
+
# PASS test: Test decription. (0.15s 0:00:02:059)
|
124
127
|
def banner(event)
|
125
|
-
|
128
|
+
name = naturalized_name(@test)
|
129
|
+
delta = Time.now - @test_time # test runtime
|
130
|
+
if @verbose
|
131
|
+
out = "%18s (%0.5fs) (%s) %s" % [event, delta, ticktock, name]
|
132
|
+
else
|
133
|
+
out = "%18s (%s) %s" % [event, ticktock, name]
|
134
|
+
end
|
135
|
+
if @mark > 0 && delta > @mark
|
136
|
+
out[1] = Colorize.mark('*')
|
137
|
+
end
|
138
|
+
io.puts out
|
126
139
|
end
|
127
140
|
|
128
141
|
# Cleanups and prints test payload
|
@@ -131,7 +144,7 @@ module Turn
|
|
131
144
|
# fail is not 1
|
132
145
|
# @ test/test_runners.rb:46:in `test_autorun_with_trace'
|
133
146
|
# bin/turn:4:in `<main>'
|
134
|
-
def prettify(message=nil
|
147
|
+
def prettify(raised, message=nil)
|
135
148
|
# Get message from raised, if not given
|
136
149
|
message ||= raised.message
|
137
150
|
|
data/lib/turn/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-04-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ansi
|
17
|
-
requirement: &
|
17
|
+
requirement: &13272920 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *13272920
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: minitest
|
28
|
-
requirement: &
|
28
|
+
requirement: &13268840 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *13268840
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rake
|
39
|
-
requirement: &
|
39
|
+
requirement: &13301200 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *13301200
|
48
48
|
description: Turn provides a set of alternative runners for MiniTest, both colorful
|
49
49
|
and informative.
|
50
50
|
email:
|