tapout 0.3.2 → 0.4.0

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.
Files changed (37) hide show
  1. data/.ruby +12 -3
  2. data/.yardopts +6 -5
  3. data/HISTORY.rdoc +16 -0
  4. data/README.rdoc +18 -16
  5. data/TAP-YJ.md +15 -15
  6. data/bin/tapout +1 -1
  7. data/demo/applique/ae.rb +1 -0
  8. data/{spec → demo}/applique/env.rb +0 -0
  9. data/{spec → demo}/issues/applique/env.rb +0 -0
  10. data/{spec → demo}/issues/default_reporter.rdoc +2 -2
  11. data/{spec → demo}/perl_adapter.rdoc +3 -3
  12. data/{spec → demo}/reporters/applique/cli.rb +1 -1
  13. data/{spec → demo}/reporters/fixtures/tapy.yml +0 -0
  14. data/{spec → demo}/reporters/reporters.rdoc +0 -0
  15. data/lib/tapout.rb +5 -101
  16. data/lib/tapout.yml +12 -3
  17. data/lib/tapout/adapters/perl.rb +1 -1
  18. data/lib/tapout/cli.rb +98 -0
  19. data/lib/tapout/config.rb +103 -0
  20. data/lib/tapout/parsers/json.rb +2 -2
  21. data/lib/tapout/parsers/perl.rb +1 -1
  22. data/lib/tapout/parsers/yaml.rb +3 -2
  23. data/lib/tapout/reporters.rb +2 -1
  24. data/lib/tapout/reporters/abstract.rb +223 -31
  25. data/lib/tapout/reporters/breakdown_reporter.rb +49 -57
  26. data/lib/tapout/reporters/dot_reporter.rb +52 -33
  27. data/lib/tapout/reporters/html_reporter.rb +3 -1
  28. data/lib/tapout/reporters/markdown_reporter.rb +101 -0
  29. data/lib/tapout/reporters/outline_reporter.rb +68 -25
  30. data/lib/tapout/reporters/pretty_reporter.rb +65 -86
  31. data/lib/tapout/reporters/progress_reporter.rb +47 -22
  32. data/lib/tapout/reporters/runtime_reporter.rb +223 -0
  33. data/lib/tapout/reporters/tap_reporter.rb +1 -1
  34. data/lib/tapout/reporters/turn_reporter.rb +26 -65
  35. data/lib/tapout/version.rb +2 -2
  36. metadata +34 -19
  37. data/test/unit/test-progressbar.rb +0 -5
@@ -1,6 +1,6 @@
1
1
  require 'tapout/reporters/abstract'
2
2
 
3
- module TapOut::Reporters
3
+ module Tapout::Reporters
4
4
 
5
5
  # Tap Reporter
6
6
  class TapReporter < Abstract
@@ -1,7 +1,7 @@
1
1
  require 'tapout/reporters/abstract'
2
2
  require 'stringio'
3
3
 
4
- module TapOut
4
+ module Tapout
5
5
 
6
6
  module Reporters
7
7
 
@@ -16,22 +16,21 @@ module TapOut
16
16
  PASS = "PASS".ansi(:green)
17
17
  FAIL = "FAIL".ansi(:red)
18
18
  ERROR = "ERROR".ansi(:yellow)
19
+ TODO = "TODO".ansi(:magenta)
19
20
 
20
21
  #
21
22
  def start_suite(suite)
22
- @io = $stdout
23
+ #@io = $stdout
23
24
  @suite = suite
24
25
  @time = Time.now
25
- @stdout = StringIO.new
26
- @stderr = StringIO.new
27
26
  #files = suite.collect{ |s| s.file }.join(' ')
28
27
  puts "LOADED SUITE" # #{suite.name}"
29
28
  #puts "Started"
30
29
  end
31
30
 
32
31
  #
33
- def start_case(kase)
34
- puts("#{kase['label']}".ansi(:bold))
32
+ def start_case(testcase)
33
+ puts("#{testcase['label']}".ansi(:bold))
35
34
  end
36
35
 
37
36
  #
@@ -48,12 +47,6 @@ module TapOut
48
47
  end
49
48
 
50
49
  print " %-69s" % name
51
-
52
- @stdout.rewind
53
- @stderr.rewind
54
-
55
- $stdout = @stdout
56
- $stderr = @stderr unless $DEBUG
57
50
  end
58
51
 
59
52
  #
@@ -66,24 +59,34 @@ module TapOut
66
59
  #end
67
60
  end
68
61
 
62
+ #
63
+ def todo(doc)
64
+ puts " #{TODO}"
65
+ #if message
66
+ # message = Colorize.magenta(message)
67
+ # message = message.to_s.tabto(8)
68
+ # puts(message)
69
+ #end
70
+ end
71
+
69
72
  #
70
73
  #
71
74
  def fail(doc)
72
75
  message = doc['exception']['message'].to_s
73
76
  backtrace = clean_backtrace(doc['exception']['backtrace'] || [])
74
- depth = TapOut.trace || backtrace.size
77
+ depth = config.trace || backtrace.size
75
78
 
76
79
  puts(" #{FAIL}")
77
80
  puts message.ansi(:bold).tabto(8)
78
-
81
+ puts(captured_output(doc).strip.tabto(8)) if captured_output?(doc)
79
82
  unless backtrace.empty?
80
83
  label = "Assertion at "
81
84
  tabsize = 8
82
- backtrace1 = label + backtrace.shift
83
- puts(backtrace1.tabto(tabsize))
84
- puts backtrace[0,depth].map{|l| l.tabto(label.length + tabsize) }.join("\n")
85
+ str = (label + backtrace.shift).tabto(tabsize)
86
+ str << backtrace[0,depth].map{|l| l.tabto(label.length + tabsize) }.join("\n")
87
+ #puts(backtrace1.tabto(tabsize))
88
+ puts str.rstrip
85
89
  end
86
- show_captured_output
87
90
  end
88
91
 
89
92
  #
@@ -93,50 +96,18 @@ module TapOut
93
96
  message = doc['exception']['message'].to_s.ansi(:bold)
94
97
 
95
98
  backtrace = clean_backtrace(doc['exception']['backtrace'] || [])
96
- depth = TapOut.trace || backtrace.size
99
+ depth = config.trace || backtrace.size
97
100
  backtrace = "Exception `#{exception_class}' at " + backtrace[0,depth].join("\n")
98
101
 
99
102
  puts("#{ERROR}")
100
103
  puts(message.tabto(8))
101
- puts "STDERR:".tabto(8)
102
- puts(backtrace.tabto(8))
103
-
104
- show_captured_output
105
- end
106
-
107
- #
108
- def finish_test(test)
109
- $stdout = STDOUT
110
- $stderr = STDERR
111
- end
112
-
113
- #
114
- def show_captured_output
115
- show_captured_stdout
116
- #show_captured_stderr
104
+ puts(captured_output(doc).strip.tabto(8)) if captured_output?(doc)
105
+ puts(backtrace.strip.tabto(8))
117
106
  end
118
107
 
119
108
  #
120
- def show_captured_stdout
121
- @stdout.rewind
122
- return if @stdout.eof?
123
- STDOUT.puts(<<-output.tabto(8))
124
- \nSTDOUT:
125
- #{@stdout.read}
126
- output
127
- end
128
-
129
- # No longer used b/c of error messages are fairly extraneous.
130
- =begin
131
- def show_captured_stderr
132
- @stderr.rewind
133
- return if @stderr.eof?
134
- STDOUT.puts(<<-output.tabto(8))
135
- \nSTDERR:
136
- #{@stderr.read}
137
- output
138
- end
139
- =end
109
+ #def finish_test(test)
110
+ #end
140
111
 
141
112
  #
142
113
  #def finish_case(kase)
@@ -166,16 +137,6 @@ module TapOut
166
137
  puts bar
167
138
  end
168
139
 
169
- #
170
- def puts(str)
171
- @io.puts(str)
172
- end
173
-
174
- #
175
- def print(str)
176
- @io.print(str)
177
- end
178
-
179
140
  end
180
141
 
181
142
  end
@@ -1,6 +1,6 @@
1
- module TapOut
1
+ module Tapout
2
2
  # The current revision of the TAP-Y/J format.
3
- REVISION = "3"
3
+ REVISION = "4"
4
4
 
5
5
  # Project metadata.
6
6
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
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: 2011-11-08 00:00:00.000000000 Z
12
+ date: 2012-02-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ansi
16
- requirement: &23948160 !ruby/object:Gem::Requirement
16
+ requirement: &14450020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *23948160
24
+ version_requirements: *14450020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &23946140 !ruby/object:Gem::Requirement
27
+ requirement: &14449140 !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: *23946140
35
+ version_requirements: *14449140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: detroit
38
- requirement: &23943840 !ruby/object:Gem::Requirement
38
+ requirement: &14448360 !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: *23943840
46
+ version_requirements: *14448360
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: qed
49
- requirement: &23942460 !ruby/object:Gem::Requirement
49
+ requirement: &14446920 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,18 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *23942460
57
+ version_requirements: *14446920
58
+ - !ruby/object:Gem::Dependency
59
+ name: ae
60
+ requirement: &14444760 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *14444760
58
69
  description: Tapout is a TAP consumer that can take any TAP, TAP-Y or TAP-J stream
59
70
  and output it in a variety of useful formats.
60
71
  email:
@@ -71,7 +82,17 @@ files:
71
82
  - .ruby
72
83
  - .yardopts
73
84
  - bin/tapout
85
+ - demo/applique/ae.rb
86
+ - demo/applique/env.rb
87
+ - demo/issues/applique/env.rb
88
+ - demo/issues/default_reporter.rdoc
89
+ - demo/perl_adapter.rdoc
90
+ - demo/reporters/applique/cli.rb
91
+ - demo/reporters/fixtures/tapy.yml
92
+ - demo/reporters/reporters.rdoc
74
93
  - lib/tapout/adapters/perl.rb
94
+ - lib/tapout/cli.rb
95
+ - lib/tapout/config.rb
75
96
  - lib/tapout/core_ext.rb
76
97
  - lib/tapout/parsers/json.rb
77
98
  - lib/tapout/parsers/perl.rb
@@ -81,23 +102,17 @@ files:
81
102
  - lib/tapout/reporters/breakdown_reporter.rb
82
103
  - lib/tapout/reporters/dot_reporter.rb
83
104
  - lib/tapout/reporters/html_reporter.rb
105
+ - lib/tapout/reporters/markdown_reporter.rb
84
106
  - lib/tapout/reporters/outline_reporter.rb
85
107
  - lib/tapout/reporters/pretty_reporter.rb
86
108
  - lib/tapout/reporters/progress_reporter.rb
109
+ - lib/tapout/reporters/runtime_reporter.rb
87
110
  - lib/tapout/reporters/tap_reporter.rb
88
111
  - lib/tapout/reporters/turn_reporter.rb
89
112
  - lib/tapout/reporters.rb
90
113
  - lib/tapout/version.rb
91
114
  - lib/tapout.rb
92
115
  - lib/tapout.yml
93
- - spec/applique/env.rb
94
- - spec/issues/applique/env.rb
95
- - spec/issues/default_reporter.rdoc
96
- - spec/perl_adapter.rdoc
97
- - spec/reporters/applique/cli.rb
98
- - spec/reporters/fixtures/tapy.yml
99
- - spec/reporters/reporters.rdoc
100
- - test/unit/test-progressbar.rb
101
116
  - HISTORY.rdoc
102
117
  - README.rdoc
103
118
  - COPYING.rdoc
@@ -123,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
138
  version: '0'
124
139
  requirements: []
125
140
  rubyforge_project:
126
- rubygems_version: 1.8.10
141
+ rubygems_version: 1.8.11
127
142
  signing_key:
128
143
  specification_version: 3
129
144
  summary: Progressive TAP Harness
@@ -1,5 +0,0 @@
1
- require 'lemon'
2
-
3
- testcase TapOut::Reporters::ProgressBar do
4
-
5
- end