rubytest 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,107 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubytest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
5
- prerelease:
4
+ version: 0.8.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - trans
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-18 00:00:00.000000000 Z
11
+ date: 2014-07-19 00:00:00.000000000 Z
13
12
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: ansi
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: fire
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: detroit
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
13
  - !ruby/object:Gem::Dependency
63
14
  name: qed
64
15
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
16
  requirements:
67
- - - ! '>='
17
+ - - '>='
68
18
  - !ruby/object:Gem::Version
69
19
  version: '0'
70
20
  type: :development
71
21
  prerelease: false
72
22
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
23
  requirements:
75
- - - ! '>='
24
+ - - '>='
76
25
  - !ruby/object:Gem::Version
77
26
  version: '0'
78
27
  - !ruby/object:Gem::Dependency
79
28
  name: ae
80
29
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
30
  requirements:
83
- - - ! '>='
31
+ - - '>='
84
32
  - !ruby/object:Gem::Version
85
33
  version: '0'
86
34
  type: :development
87
35
  prerelease: false
88
36
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
37
  requirements:
91
- - - ! '>='
38
+ - - '>='
92
39
  - !ruby/object:Gem::Version
93
40
  version: '0'
94
- description: ! "Ruby Test is a universal test harness for Ruby. It can handle any
95
- compliant \ntest framework, even running tests from multiple frameworks in a single
96
- pass."
41
+ description: Rubytest is a universal test harness for Ruby. It can handle any compliant
42
+ test framework, even running tests from multiple frameworks in a single pass. This
43
+ is the core component of the system, and is the only part strictly necessary to
44
+ run tests.
97
45
  email:
98
46
  - transfire@gmail.com
99
47
  executables: []
100
48
  extensions: []
101
49
  extra_rdoc_files:
102
50
  - LICENSE.txt
103
- - HISTORY.md
104
51
  - README.md
52
+ - HISTORY.md
105
53
  files:
106
54
  - .index
107
55
  - demo/01_test.md
@@ -110,7 +58,6 @@ files:
110
58
  - demo/applique/rubytest.rb
111
59
  - lib/rubytest/advice.rb
112
60
  - lib/rubytest/autorun.rb
113
- - lib/rubytest/cli.rb
114
61
  - lib/rubytest/code_snippet.rb
115
62
  - lib/rubytest/config.rb
116
63
  - lib/rubytest/core_ext/assertion.rb
@@ -118,51 +65,43 @@ files:
118
65
  - lib/rubytest/core_ext/file.rb
119
66
  - lib/rubytest/core_ext/string.rb
120
67
  - lib/rubytest/core_ext.rb
68
+ - lib/rubytest/format/abstract.rb
69
+ - lib/rubytest/format/abstract_hash.rb
70
+ - lib/rubytest/format/dotprogress.rb
71
+ - lib/rubytest/format/test.rb
121
72
  - lib/rubytest/recorder.rb
122
- - lib/rubytest/reporters/abstract.rb
123
- - lib/rubytest/reporters/abstract_hash.rb
124
- - lib/rubytest/reporters/dotprogress.rb
125
- - lib/rubytest/reporters/html.rb
126
- - lib/rubytest/reporters/outline.rb
127
- - lib/rubytest/reporters/progress.rb
128
- - lib/rubytest/reporters/summary.rb
129
- - lib/rubytest/reporters/tap.rb
130
- - lib/rubytest/reporters/tapj.rb
131
- - lib/rubytest/reporters/tapy.rb
132
- - lib/rubytest/reporters/test.rb
133
73
  - lib/rubytest/runner.rb
134
74
  - lib/rubytest.rb
135
75
  - lib/rubytest.yml
136
76
  - lib/test.rb
137
77
  - test/basic_case.rb
138
78
  - test/helper.rb
139
- - HISTORY.md
140
79
  - README.md
80
+ - HISTORY.md
141
81
  - LICENSE.txt
142
82
  homepage: http://rubyworks.github.com/rubytest
143
83
  licenses:
144
84
  - BSD-2-Clause
85
+ metadata: {}
145
86
  post_install_message:
146
87
  rdoc_options: []
147
88
  require_paths:
148
89
  - lib
149
90
  required_ruby_version: !ruby/object:Gem::Requirement
150
- none: false
151
91
  requirements:
152
- - - ! '>='
92
+ - - '>='
153
93
  - !ruby/object:Gem::Version
154
94
  version: '0'
155
95
  required_rubygems_version: !ruby/object:Gem::Requirement
156
- none: false
157
96
  requirements:
158
- - - ! '>='
97
+ - - '>='
159
98
  - !ruby/object:Gem::Version
160
99
  version: '0'
161
100
  requirements: []
162
101
  rubyforge_project:
163
- rubygems_version: 1.8.24
102
+ rubygems_version: 2.0.3
164
103
  signing_key:
165
- specification_version: 3
104
+ specification_version: 4
166
105
  summary: Ruby Universal Test Harness
167
106
  test_files:
168
107
  - test/helper.rb
@@ -1,165 +0,0 @@
1
- module Test
2
-
3
- # Command line interface to test runner.
4
- #
5
- # TODO: Use `cli` based library instead of option parser?
6
- #
7
- class CLI
8
-
9
- # Convenience method for invoking the CLI.
10
- #
11
- # @return nothing
12
- def self.run(*argv)
13
- new.run(*argv)
14
- end
15
-
16
- # Initialize CLI instance.
17
- #
18
- # @return nothing
19
- def initialize
20
- require 'optparse'
21
-
22
- @config = Test.configuration(true)
23
- end
24
-
25
- # Test run configuration.
26
- #
27
- # @return [Config]
28
- def config
29
- @config
30
- end
31
-
32
- # Run tests.
33
- #
34
- # @return nothing
35
- def run(argv=nil)
36
- argv = (argv || ARGV.dup)
37
-
38
- options.parse!(argv)
39
-
40
- config.files.replace(argv) unless argv.empty?
41
-
42
- config.apply_environment_overrides
43
-
44
- #Test.run(config)
45
- runner = Runner.new(config)
46
- begin
47
- success = runner.run
48
- exit -1 unless success
49
- rescue => error
50
- raise error if $DEBUG
51
- $stderr.puts('ERROR: ' + error.to_s)
52
- exit -1
53
- end
54
- end
55
-
56
- # Setup OptionsParser instance.
57
- #
58
- # @return [OptionParser]
59
- def options
60
- this = self
61
-
62
- OptionParser.new do |opt|
63
- opt.banner = "Usage: #{File.basename($0)} [options] [files ...]"
64
-
65
- #opt.separator "PRESET OPTIONS:"
66
- #pnames = profile_names
67
- #unless pnames.empty?
68
- # pnames.each do |pname|
69
- # opt.separator((" " * 40) + "* #{pname}")
70
- # end
71
- #end
72
- #opt.separator "CONFIG OPTIONS:"
73
-
74
- opt.on '-f', '--format NAME', 'report format' do |name|
75
- config.format = name
76
- end
77
- opt.on '-y', '--tapy', 'shortcut for -f tapy' do
78
- config.format = 'tapy'
79
- end
80
- opt.on '-j', '--tapj', 'shortcut for -f tapj' do
81
- config.format = 'tapj'
82
- end
83
-
84
- # tempted to change -T
85
- opt.on '-t', '--tag TAG', 'select tests by tag' do |tag|
86
- config.tags.concat makelist(tag)
87
- end
88
- opt.on '-u', '--unit TAG', 'select tests by software unit' do |unit|
89
- config.units.concat makelist(unit)
90
- end
91
- opt.on '-m', '--match TEXT', 'select tests by description' do |text|
92
- config.match.concat makelist(text)
93
- end
94
-
95
- opt.on '-A', '--autopath', 'automatically add paths to $LOAD_PATH' do |paths|
96
- config.autopath = true
97
- end
98
- opt.on '-I', '--loadpath PATH', 'add given path to $LOAD_PATH' do |paths|
99
- #makelist(paths).reverse_each do |path|
100
- # $LOAD_PATH.unshift path
101
- #end
102
- config.loadpath.concat makelist(paths)
103
- end
104
- opt.on '-C', '--chdir DIR', 'change directory before running tests' do |dir|
105
- config.chdir = dir
106
- end
107
- opt.on '-R', '--chroot', 'change to project root directory before running tests' do
108
- config.chdir = Config.root
109
- end
110
- opt.on '-r', '--require FILE', 'require file' do |file|
111
- #require file
112
- config.requires.concat makelist(file)
113
- end
114
- opt.on '-c', '--config FILE', "require local config file (immediately)" do |file|
115
- config.load_config(file)
116
- end
117
- #opt.on '-T', '--tests GLOB', "tests to run (if none given as arguments)" do |glob|
118
- # config.files << glob
119
- #end
120
- opt.on '-V' , '--verbose', 'provide extra detail in reports' do
121
- config.verbose = true
122
- end
123
- #opt.on('--log PATH', 'log test output to path'){ |path|
124
- # config.log = path
125
- #}
126
- opt.on("--[no-]ansi" , 'turn on/off ANSI colors'){ |v| $ansi = v }
127
- opt.on("--debug" , 'turn on debugging mode'){ $DEBUG = true }
128
-
129
- #opt.separator "COMMAND OPTIONS:"
130
- opt.on('--about' , 'display information about rubytest') do
131
- puts "Ruby Test v%s" % [Test.index['version']]
132
- Test.index['copyrights'].each do |c|
133
- puts "(c) %s %s (%s)" % c.values_at('year', 'holder', 'license')
134
- end
135
- exit
136
- end
137
- opt.on('--version' , 'display rubytest version') do
138
- puts Test::VERSION
139
- exit
140
- end
141
- opt.on('-h', '--help', 'display this help message'){
142
- puts opt
143
- exit
144
- }
145
- end
146
- end
147
-
148
- # If given a String then split up at `:` and `;` markers.
149
- # Otherwise ensure the list is an Array and the entries are
150
- # all strings and not empty.
151
- #
152
- # @return [Array<String>]
153
- def makelist(list)
154
- case list
155
- when String
156
- list = list.split(/[:;]/)
157
- else
158
- list = Array(list).map{ |path| path.to_s }
159
- end
160
- list.reject{ |path| path.strip.empty? }
161
- end
162
-
163
- end
164
-
165
- end
@@ -1,155 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- module Test::Reporters
4
-
5
- # HTML Test Reporter
6
- #
7
- # This reporter is rather simplistic and rough at this point --in need
8
- # of some TLC. Also, it may move to the TAPOUT project rather than be
9
- # a built-in Ruby-Test reporter.
10
- #--
11
- # TODO: Make this more like a microformat and add timer info.
12
- #++
13
- class Html < Abstract
14
-
15
- #
16
- def begin_suite(suite)
17
- timer_reset
18
-
19
- @html = []
20
- @html << %[<html>]
21
- @html << %[<head>]
22
- @html << %[<title>Test Report</title>]
23
- @html << %[ <style>]
24
- @html << %[ html{ background: #fff; margin: 0; padding: 0; font-family: helvetica; }]
25
- @html << %[ body{ margin: 0; padding: 0;}]
26
- @html << %[ h3{color:#555;}]
27
- @html << %[ #main{ margin: 0 auto; color: #110; width: 600px; ]
28
- @html << %[ border-right: 1px solid #ddd; border-left: 1px solid #ddd; ]
29
- @html << %[ padding: 10px 30px; width: 500px; } ]
30
- @html << %[ .lemon{ color: gold; font-size: 22px; font-weight: bold; ]
31
- @html << %[ font-family: courier; margin-bottom: -15px;}]
32
- @html << %[ .tally{ font-weight: bold; margin-bottom: 10px; }]
33
- @html << %[ .omit{ color: cyan; }]
34
- @html << %[ .pass{ color: green; }]
35
- @html << %[ .fail{ color: red; }]
36
- @html << %[ .footer{ font-size: 0.7em; color: #666; margin: 20px 0; }]
37
- @html << %[ </style>]
38
- @html << %[</head>]
39
- @html << %[<body>]
40
- @html << %[<div id="main">]
41
- @html << %[<div class="lemon">R U B Y - T E S T</div>]
42
- @html << %[<h1>Test Report</h1>]
43
- @body = []
44
- end
45
-
46
- #
47
- def begin_case(tc)
48
- lines = tc.to_s.split("\n")
49
- title = lines.shift
50
- @body << "<h2>"
51
- @body << title
52
- @body << "</h2>"
53
- @body << "<div>"
54
- @body << lines.join("<br/>")
55
- @body << "</div>"
56
- end
57
-
58
- #
59
- def begin_test(test)
60
- if test.respond_to?(:topic)
61
- topic = test.topic
62
- if @topic != topic
63
- @topic = topic
64
- @body << "<h3>"
65
- @body << "#{topic}"
66
- @body << "</h3>"
67
- end
68
- end
69
- end
70
-
71
- #
72
- def pass(test)
73
- @body << %[<li class="pass">]
74
- @body << "%s %s" % ["PASS", test.to_s]
75
- @body << %[</li>]
76
- end
77
-
78
- #
79
- def fail(test, exception)
80
- @body << %[<li class="fail">]
81
- @body << "%s %s" % ["FAIL", test.to_s]
82
- @body << "<pre>"
83
- @body << " FAIL #{clean_backtrace(exception)[0]}"
84
- @body << " #{exception}"
85
- @body << "</pre>"
86
- @body << %[</li>]
87
- end
88
-
89
- #
90
- def error(test, exception)
91
- @body << %[<li class="error">]
92
- @body << "%s %s" % ["ERROR", test.to_s]
93
- @body << "<pre>"
94
- @body << " ERROR #{exception.class}"
95
- @body << " #{exception}"
96
- @body << " " + clean_backtrace(exception).join("\n ")
97
- @body << "</pre>"
98
- @body << %[</li>]
99
- end
100
-
101
- #
102
- def todo(test, exception)
103
- @body << %[<li class="pending">]
104
- @body << "%s %s" % ["PENDING", test.to_s]
105
- @body << %[</li>]
106
- end
107
-
108
- #
109
- def omit(test, exception)
110
- @body << %[<li class="omit">]
111
- @body << "%s %s" % ["OMIT", test.to_s]
112
- @body << %[</li>]
113
- end
114
-
115
- #
116
- def end_suite(suite)
117
- @html << ""
118
- @html << %[<div class="tally">]
119
- @html << tally
120
- @html << %[</div>]
121
- @html << ""
122
-
123
- @body << ""
124
- @body << %[<div class="footer">]
125
- @body << %[Generated by <a href="http://rubyworks.github.com/test">Lemon</a>]
126
- @body << %[on #{Time.now}.]
127
- @body << %[</div>]
128
- @body << ""
129
- @body << %[</div>]
130
- @body << %[</div>]
131
- @body << ""
132
- @body << %[</body>]
133
- @body << %[</html>]
134
-
135
- puts @html.join("\n")
136
- puts @body.join("\n")
137
- end
138
-
139
- private
140
-
141
- #
142
- def timer
143
- secs = Time.now - @time
144
- @time = Time.now
145
- return "%0.5fs" % [secs.to_s]
146
- end
147
-
148
- #
149
- def timer_reset
150
- @time = Time.now
151
- end
152
-
153
- end
154
-
155
- end