minitap 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.ruby +8 -4
- data/.yardopts +8 -0
- data/HISTORY.rdoc +14 -2
- data/lib/minitap.rb +45 -10
- data/spec/applique/ae.rb +1 -0
- metadata +28 -15
data/.ruby
CHANGED
@@ -26,6 +26,10 @@ requirements:
|
|
26
26
|
groups:
|
27
27
|
- test
|
28
28
|
development: true
|
29
|
+
- name: ae
|
30
|
+
groups:
|
31
|
+
- test
|
32
|
+
development: true
|
29
33
|
dependencies: []
|
30
34
|
conflicts: []
|
31
35
|
repositories:
|
@@ -44,9 +48,9 @@ load_path:
|
|
44
48
|
revision: 0
|
45
49
|
summary: TAP-Y/J reporters for MiniTest
|
46
50
|
title: MiniTap
|
47
|
-
version: 0.3.
|
51
|
+
version: 0.3.3
|
48
52
|
name: minitap
|
49
|
-
description: MiniTap provides a
|
50
|
-
|
53
|
+
description: MiniTap provides a MiniTest TAP-Y/J report format suitable for use with
|
54
|
+
TAPOUT.
|
51
55
|
organization: rubyworks
|
52
|
-
date: '
|
56
|
+
date: '2012-02-01'
|
data/.yardopts
ADDED
data/HISTORY.rdoc
CHANGED
@@ -1,10 +1,22 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
== 0.3.3 | 2012-02-01
|
4
|
+
|
5
|
+
This release adds support for the new 'stdout' and 'stderr' fields.
|
6
|
+
As tests are run $stdout and $stderr are captured and included in
|
7
|
+
the TAP-Y/J stream. This prevents the structured streams from being
|
8
|
+
corrupted and provide some nice report options too.
|
9
|
+
|
10
|
+
Changes:
|
11
|
+
|
12
|
+
* Add support for stdout and stderr capturing.
|
13
|
+
|
14
|
+
|
3
15
|
== 0.3.2 | 2011-11-08
|
4
16
|
|
5
|
-
This release add support for new TAP-Y/J class field, and removes
|
17
|
+
This release add support for the new TAP-Y/J 'class' field, and removes
|
6
18
|
the class name from the message field. It also fixes a bug that
|
7
|
-
arose with certain versions of Ruby's YAML.load_documents
|
19
|
+
arose with certain versions of Ruby's YAML.load_documents implementation.
|
8
20
|
|
9
21
|
Changes:
|
10
22
|
|
data/lib/minitap.rb
CHANGED
@@ -24,7 +24,7 @@ module MiniTest
|
|
24
24
|
class MiniTap < ::MiniTest::Unit
|
25
25
|
|
26
26
|
# TAP-Y/J Revision
|
27
|
-
REVISION =
|
27
|
+
REVISION = 4
|
28
28
|
|
29
29
|
# Backtrace patterns to be omitted.
|
30
30
|
IGNORE_CALLERS = ::RUBY_IGNORE_CALLERS
|
@@ -117,7 +117,7 @@ module MiniTest
|
|
117
117
|
send("tapout_#{callback}", *args)
|
118
118
|
end
|
119
119
|
|
120
|
-
|
120
|
+
private
|
121
121
|
|
122
122
|
#
|
123
123
|
def filtered_tests(suite, type)
|
@@ -224,6 +224,11 @@ module MiniTest
|
|
224
224
|
# code: Foo#*
|
225
225
|
'time' => Time.now - self.suite_start_time
|
226
226
|
}
|
227
|
+
|
228
|
+
stdout, stderr = test_runner.stdout, test_runner.stderr
|
229
|
+
doc['stdout'] = stdout unless stdout.empty?
|
230
|
+
doc['stderr'] = stderr unless stderr.empty?
|
231
|
+
|
227
232
|
return doc
|
228
233
|
end
|
229
234
|
|
@@ -302,6 +307,11 @@ module MiniTest
|
|
302
307
|
},
|
303
308
|
'time' => Time.now - self.suite_start_time
|
304
309
|
}
|
310
|
+
|
311
|
+
stdout, stderr = test_runner.stdout, test_runner.stderr
|
312
|
+
doc['stdout'] = stdout unless stdout.empty?
|
313
|
+
doc['stderr'] = stderr unless stderr.empty?
|
314
|
+
|
305
315
|
return doc
|
306
316
|
end
|
307
317
|
|
@@ -341,6 +351,11 @@ module MiniTest
|
|
341
351
|
},
|
342
352
|
'time' => Time.now - self.suite_start_time
|
343
353
|
}
|
354
|
+
|
355
|
+
stdout, stderr = test_runner.stdout, test_runner.stderr
|
356
|
+
doc['stdout'] = stdout unless stdout.empty?
|
357
|
+
doc['stderr'] = stderr unless stderr.empty?
|
358
|
+
|
344
359
|
return doc
|
345
360
|
end
|
346
361
|
|
@@ -405,7 +420,7 @@ module MiniTest
|
|
405
420
|
end
|
406
421
|
caller =~ /(.+?):(\d+(?=:|\z))/ or return ""
|
407
422
|
source_file, source_line = $1, $2.to_i
|
408
|
-
|
423
|
+
return source_file, source_line
|
409
424
|
end
|
410
425
|
|
411
426
|
# Get location of exception.
|
@@ -437,7 +452,8 @@ module MiniTest
|
|
437
452
|
# @see https://github.com/seattlerb/minitest MiniTest
|
438
453
|
class TestRunner
|
439
454
|
attr_reader :suite, :test, :assertions, :result, :exception
|
440
|
-
|
455
|
+
attr_reader :stdout, :stderr
|
456
|
+
|
441
457
|
def initialize(suite, test)
|
442
458
|
@suite = suite
|
443
459
|
@test = test
|
@@ -446,10 +462,14 @@ module MiniTest
|
|
446
462
|
|
447
463
|
def run
|
448
464
|
suite_instance = suite.new(test)
|
449
|
-
|
465
|
+
test_result = nil
|
466
|
+
@stdout, @stderr = capture_io do
|
467
|
+
test_result = suite_instance.run(self)
|
468
|
+
end
|
469
|
+
@result, @exception = fix_result(test_result)
|
450
470
|
@assertions = suite_instance._assertions
|
451
471
|
end
|
452
|
-
|
472
|
+
|
453
473
|
def puke(suite, test, exception)
|
454
474
|
case exception
|
455
475
|
when MiniTest::Skip then [:skip, exception]
|
@@ -458,17 +478,32 @@ module MiniTest
|
|
458
478
|
end
|
459
479
|
end
|
460
480
|
|
461
|
-
|
481
|
+
private
|
462
482
|
|
483
|
+
#
|
463
484
|
def fix_result(result)
|
464
485
|
result == '.' ? [:pass, nil] : result
|
465
486
|
end
|
487
|
+
|
488
|
+
#
|
489
|
+
def capture_io
|
490
|
+
ostdout, ostderr = $stdout, $stderr
|
491
|
+
cstdout, cstderr = StringIO.new, StringIO.new
|
492
|
+
$stdout, $stderr = cstdout, cstderr
|
493
|
+
|
494
|
+
yield
|
495
|
+
|
496
|
+
return cstdout.string.chomp("\n"), cstderr.string.chomp("\n")
|
497
|
+
ensure
|
498
|
+
$stdout = ostdout
|
499
|
+
$stderr = ostderr
|
500
|
+
end
|
466
501
|
end
|
467
502
|
|
468
503
|
#
|
469
504
|
class TapY < MiniTap
|
470
505
|
def initialize
|
471
|
-
require 'yaml'
|
506
|
+
require 'yaml' unless respond_to?(:to_yaml)
|
472
507
|
super
|
473
508
|
end
|
474
509
|
def tapout_before_suites(suites, type)
|
@@ -497,8 +532,8 @@ module MiniTest
|
|
497
532
|
|
498
533
|
#
|
499
534
|
class TapJ < MiniTap
|
500
|
-
def
|
501
|
-
require 'json'
|
535
|
+
def initialize
|
536
|
+
require 'json' unless respond_to?(:to_json)
|
502
537
|
super
|
503
538
|
end
|
504
539
|
def tapout_before_suites(suites, type)
|
data/spec/applique/ae.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'ae'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-02-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: tapout
|
16
|
-
requirement: &
|
16
|
+
requirement: &27848940 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.3.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *27848940
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: minitest
|
27
|
-
requirement: &
|
27
|
+
requirement: &27848020 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *27848020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: detroit
|
38
|
-
requirement: &
|
38
|
+
requirement: &27846700 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *27846700
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: reap
|
49
|
-
requirement: &
|
49
|
+
requirement: &27845960 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *27845960
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: qed
|
60
|
-
requirement: &
|
60
|
+
requirement: &27844460 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,9 +65,20 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
-
|
70
|
-
|
68
|
+
version_requirements: *27844460
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: ae
|
71
|
+
requirement: &27841740 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *27841740
|
80
|
+
description: MiniTap provides a MiniTest TAP-Y/J report format suitable for use with
|
81
|
+
TAPOUT.
|
71
82
|
email:
|
72
83
|
- transfire@gmail.com
|
73
84
|
executables: []
|
@@ -78,8 +89,10 @@ extra_rdoc_files:
|
|
78
89
|
- COPYING.rdoc
|
79
90
|
files:
|
80
91
|
- .ruby
|
92
|
+
- .yardopts
|
81
93
|
- lib/minitap/ignore_callers.rb
|
82
94
|
- lib/minitap.rb
|
95
|
+
- spec/applique/ae.rb
|
83
96
|
- spec/applique/cli.rb
|
84
97
|
- spec/fixtures/tapy.yml
|
85
98
|
- spec/minitap.rdoc
|
@@ -107,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
120
|
version: '0'
|
108
121
|
requirements: []
|
109
122
|
rubyforge_project:
|
110
|
-
rubygems_version: 1.8.
|
123
|
+
rubygems_version: 1.8.11
|
111
124
|
signing_key:
|
112
125
|
specification_version: 3
|
113
126
|
summary: TAP-Y/J reporters for MiniTest
|