rubytest 0.8.1 → 0.9.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.
- checksums.yaml +5 -5
- data/HISTORY.md +19 -0
- data/README.md +26 -65
- data/bin/rubytest +9 -0
- data/lib/rubytest/cli.rb +223 -0
- data/lib/rubytest.rb +9 -35
- data/lib/test.rb +1 -8
- metadata +55 -40
- data/.index +0 -54
- data/lib/rubytest.yml +0 -54
- data/test/basic_case.rb +0 -13
- data/test/helper.rb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: dd40163d41b30aec37525b9535e5e6092bcf5090c3a35ec422fb371059e8cffb
|
|
4
|
+
data.tar.gz: 74a28d916e30ea8fd149b71c103cf57758c92b6c45963c071986b26c0a9d17fe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1de09a3686518f5edbf8bd10c92fa958032f902f3105385e099e7bb8780b7a2f0858f020722f82328e25d49e8dd3dff4f4ac428fb29ed646a9472a4b1c658c0d
|
|
7
|
+
data.tar.gz: d6a2b535c14b4b0a8ce42fd0f8f88944f2ea755bb653934de196c6a22724cafd49fce47446edf6a1a6205dff0fa3dcb60d2b593b5236ad8d05354f6c6064a537
|
data/HISTORY.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# RELEASE HISTORY
|
|
2
2
|
|
|
3
|
+
## 0.9.0 / 2026-03-31
|
|
4
|
+
|
|
5
|
+
Maintenance release. Modernized project tooling and merged CLI back in.
|
|
6
|
+
|
|
7
|
+
Changes:
|
|
8
|
+
|
|
9
|
+
* Merge rubytest-cli back into rubytest (bin/rubytest executable).
|
|
10
|
+
* Replace custom Indexer system with standard gemspec.
|
|
11
|
+
* Replace Travis CI with GitHub Actions.
|
|
12
|
+
* Replace Assembly with Rakefile.
|
|
13
|
+
* Add VERSION constant to Test module.
|
|
14
|
+
* Remove Ruby 1.9 compatibility code.
|
|
15
|
+
* Simplify version handling (remove metadata YAML).
|
|
16
|
+
* Fix typos and update URLs to HTTPS.
|
|
17
|
+
* Move site from gh-pages to docs/.
|
|
18
|
+
* Remove obsolete files.
|
|
19
|
+
* Clean up .gitignore.
|
|
20
|
+
|
|
21
|
+
|
|
3
22
|
## 0.8.0 / 2014-07-18
|
|
4
23
|
|
|
5
24
|
We have whittled Rubytest down to it core functionaltiy and spun the rest
|
data/README.md
CHANGED
|
@@ -1,50 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
[Homepage](http://rubyworks.github.com/rubytest) /
|
|
4
|
-
[User Guide](http://wiki.github.com/rubyworks/rubytest) /
|
|
5
|
-
[Support](http://github.com/rubyworks/rubytest/issues) /
|
|
6
|
-
[Development](http://github.com/rubyworks/rubytest)
|
|
1
|
+
[](https://rubyworks.github.io/rubytest)
|
|
7
2
|
|
|
8
|
-
|
|
9
|
-
[](http://badge.fury.io/rb/rubytest)
|
|
3
|
+
# Rubytest
|
|
10
4
|
|
|
5
|
+
[](https://rubygems.org/gems/rubytest)
|
|
6
|
+
[](https://github.com/rubyworks/rubytest/actions/workflows/test.yml)
|
|
7
|
+
[](https://github.com/rubyworks/rubytest/issues)
|
|
11
8
|
|
|
12
|
-
## Description
|
|
13
9
|
|
|
14
|
-
Rubytest is
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
can be used
|
|
19
|
-
|
|
20
|
-
can be used in a single test suite all of which can run through a single
|
|
21
|
-
uniform interface in a process.
|
|
10
|
+
Rubytest is Ruby's Universal Test Harness. Think of it as a *testing meta-framework*.
|
|
11
|
+
It defines a straight-forward specification that any application can use to create
|
|
12
|
+
their own testing DSLs. Rubytest can be used for testing end-user applications directly
|
|
13
|
+
or as the backend of a test framework. Since Rubytest controls the backend, multiple test
|
|
14
|
+
frameworks can be used in a single test suite, all of which can be run through one uniform
|
|
15
|
+
interface in a single process!
|
|
22
16
|
|
|
23
17
|
|
|
24
18
|
## Specification
|
|
25
19
|
|
|
26
20
|
The universal access point for testing is the `$TEST_SUITE` global array. A test
|
|
27
|
-
framework need only add compliant test objects to `$TEST_SUITE`.
|
|
21
|
+
framework need only add compliant test objects to `$TEST_SUITE`.
|
|
28
22
|
Rubytest will iterate through these objects. If a test object responds to
|
|
29
23
|
`#call`, it is run as a test procedure. If it responds to `#each` it is iterated
|
|
30
|
-
over as a test case with each entry handled in the same manner. All test
|
|
24
|
+
over as a test case with each entry handled in the same manner. All test
|
|
31
25
|
objects must respond to `#to_s` so their description can be used in test
|
|
32
26
|
reports.
|
|
33
27
|
|
|
34
|
-
Rubytest handles assertions with [BRASS](
|
|
28
|
+
Rubytest handles assertions with [BRASS](https://github.com/rubyworks/brass)
|
|
35
29
|
compliance. Any raised exception that responds to `#assertion?` in the
|
|
36
|
-
affirmative is taken to be a failed assertion rather than simply an error.
|
|
30
|
+
affirmative is taken to be a failed assertion rather than simply an error.
|
|
37
31
|
A test framework may raise a `NotImplementedError` to have a test recorded
|
|
38
32
|
as *todo* --a _pending_ exception to remind the developer of tests that still
|
|
39
33
|
need to be written. The `NotImplementedError` is a standard Ruby exception
|
|
40
34
|
and a subclass of `ScriptError`. The exception can also set a priority level
|
|
41
35
|
to indicate the urgency of the pending test. Priorities of -1 or lower
|
|
42
|
-
will generally not be brought to the attention of testers unless explicitly
|
|
36
|
+
will generally not be brought to the attention of testers unless explicitly
|
|
43
37
|
configured to do so.
|
|
44
38
|
|
|
45
39
|
That is the crux of Rubytest specification. Rubytest supports some
|
|
46
|
-
additional features that can
|
|
47
|
-
See the [Wiki](http://github.com/rubyworks/test/wiki) for further details.
|
|
40
|
+
additional features that can make its usage even more convenient.
|
|
48
41
|
|
|
49
42
|
|
|
50
43
|
## Installation
|
|
@@ -53,21 +46,14 @@ Rubytest is available as a Gem package.
|
|
|
53
46
|
|
|
54
47
|
$ gem install rubytest
|
|
55
48
|
|
|
56
|
-
Rubytest is compliant with Setup.rb layout standard, so it can
|
|
57
|
-
also be installed in an FHS compliant fashion if necessary.
|
|
58
|
-
|
|
59
49
|
|
|
60
50
|
## Running Tests
|
|
61
51
|
|
|
62
|
-
There are a few ways to run tests.
|
|
52
|
+
There are a few ways to run tests.
|
|
63
53
|
|
|
64
54
|
### Via Command-line Tool
|
|
65
55
|
|
|
66
|
-
The easiest way to run tests is via the command line tool
|
|
67
|
-
it on its [manpage](http://rubyworks.github.com/rubytest/man/rubytest.1.html),
|
|
68
|
-
but we will quickly go over it here.
|
|
69
|
-
|
|
70
|
-
The basic usage example is:
|
|
56
|
+
The easiest way to run tests is via the command line tool:
|
|
71
57
|
|
|
72
58
|
$ rubytest -Ilib test/test_*.rb
|
|
73
59
|
|
|
@@ -75,8 +61,8 @@ The command line tool takes various options, most of which correspond directly
|
|
|
75
61
|
to the configuration options of the `Test.run/Test.configure` API. Use
|
|
76
62
|
`-h/--help` to see them all.
|
|
77
63
|
|
|
78
|
-
If you are using a build tool to run your tests, such as Rake
|
|
79
|
-
out to `rubytest` is a good way to go as it keeps your test environment as
|
|
64
|
+
If you are using a build tool to run your tests, such as Rake, shelling
|
|
65
|
+
out to `rubytest` is a good way to go as it keeps your test environment as
|
|
80
66
|
pristine as possible, e.g.
|
|
81
67
|
|
|
82
68
|
desc "run tests"
|
|
@@ -84,26 +70,9 @@ pristine as possible, e.g.
|
|
|
84
70
|
sh "rubytest"
|
|
85
71
|
end
|
|
86
72
|
|
|
87
|
-
### Via Rake Task
|
|
88
|
-
|
|
89
|
-
There is also a Rake plug-in that can be installed called `rubytest-rake`.
|
|
90
|
-
Surf over to its [webpage](http://rubyworks.github.com/rubytest-rake) for details.
|
|
91
|
-
A basic example in its case, add to ones Rakefile:
|
|
92
|
-
|
|
93
|
-
require 'rubytest/rake'
|
|
94
|
-
|
|
95
|
-
Test::Rake::TestTask.new :test do |run|
|
|
96
|
-
run.requires << 'lemon'
|
|
97
|
-
run.test_files = 'test/test_*.rb'
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
See the Wiki for more detailed information on the different ways to run tests.
|
|
101
|
-
|
|
102
73
|
### Via Runner Scripts
|
|
103
74
|
|
|
104
|
-
|
|
105
|
-
you simply write you own runner script using the Rubytest API.
|
|
106
|
-
Here is the basic example:
|
|
75
|
+
You can write your own runner script using the Rubytest API:
|
|
107
76
|
|
|
108
77
|
require 'rubytest'
|
|
109
78
|
|
|
@@ -120,32 +89,24 @@ runner.
|
|
|
120
89
|
|
|
121
90
|
## Requirements
|
|
122
91
|
|
|
123
|
-
Rubytest uses the [ANSI](
|
|
124
|
-
|
|
125
|
-
Because of the "foundational" nature of this library we will look at removing
|
|
126
|
-
this dependency for future versions, but for early development the
|
|
127
|
-
requirements does the job and does it well.
|
|
92
|
+
Rubytest uses the [ANSI](https://github.com/rubyworks/ansi) gem for color output.
|
|
128
93
|
|
|
129
94
|
|
|
130
95
|
## Development
|
|
131
96
|
|
|
132
|
-
Rubytest is
|
|
133
|
-
|
|
134
|
-
Rubytest is a [Rubyworks](http://rubyworks.github.com) project. If you can't
|
|
135
|
-
contribute code, you can still help out by contributing to our development fund.
|
|
97
|
+
Rubytest is a [Rubyworks](https://rubyworks.github.io) project.
|
|
136
98
|
|
|
137
99
|
|
|
138
100
|
## Reference Material
|
|
139
101
|
|
|
140
102
|
* [Standard Definition Of Unit Test](http://c2.com/cgi/wiki?StandardDefinitionOfUnitTest)
|
|
141
|
-
* [BRASS Assertions Standard](
|
|
103
|
+
* [BRASS Assertions Standard](https://github.com/rubyworks/brass)
|
|
142
104
|
|
|
143
105
|
|
|
144
106
|
## Copyrights
|
|
145
107
|
|
|
146
108
|
Copyright (c) 2011 Rubyworks
|
|
147
109
|
|
|
148
|
-
Made available according to the terms of the
|
|
110
|
+
Made available according to the terms of the **BSD-2-Clause** license.
|
|
149
111
|
|
|
150
112
|
See LICENSE.txt for details.
|
|
151
|
-
|
data/bin/rubytest
ADDED
data/lib/rubytest/cli.rb
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
require 'rubytest'
|
|
2
|
+
|
|
3
|
+
module Test
|
|
4
|
+
|
|
5
|
+
# Command line interface to test runner.
|
|
6
|
+
#
|
|
7
|
+
class CLI
|
|
8
|
+
|
|
9
|
+
# Test configuration file can be in `etc/test.rb` or `config/test.rb`, or
|
|
10
|
+
# `Testfile` or '.test` with optional `.rb` extension, in that order of
|
|
11
|
+
# precedence. To use a different file there is the -c/--config option.
|
|
12
|
+
GLOB_CONFIG = '{etc/test.rb,config/test.rb,testfile.rb,testfile,.test.rb,.test}'
|
|
13
|
+
|
|
14
|
+
# Convenience method for invoking the CLI.
|
|
15
|
+
#
|
|
16
|
+
# @return nothing
|
|
17
|
+
def self.run(*argv)
|
|
18
|
+
new.run(*argv)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Initialize CLI instance.
|
|
22
|
+
#
|
|
23
|
+
# @return nothing
|
|
24
|
+
def initialize
|
|
25
|
+
require 'optparse'
|
|
26
|
+
|
|
27
|
+
@config = {}
|
|
28
|
+
@config_file = nil
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Run tests.
|
|
32
|
+
#
|
|
33
|
+
# @return nothing
|
|
34
|
+
def run(argv=nil)
|
|
35
|
+
argv = (argv || ARGV.dup)
|
|
36
|
+
options.parse!(argv)
|
|
37
|
+
|
|
38
|
+
@config[:files] = argv unless argv.empty?
|
|
39
|
+
|
|
40
|
+
load_config
|
|
41
|
+
|
|
42
|
+
test_config = Test.configuration(profile)
|
|
43
|
+
test_config.apply_environment_defaults
|
|
44
|
+
test_config.apply(@config)
|
|
45
|
+
|
|
46
|
+
Test.run!(test_config)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Setup OptionsParser instance.
|
|
50
|
+
#
|
|
51
|
+
# @return [OptionParser]
|
|
52
|
+
def options
|
|
53
|
+
conf = self
|
|
54
|
+
|
|
55
|
+
OptionParser.new do |opt|
|
|
56
|
+
opt.banner = "Usage: #{File.basename($0)} [options] [files ...]"
|
|
57
|
+
|
|
58
|
+
opt.on '-p', '--profile NAME', 'use configuration profile' do |name|
|
|
59
|
+
conf.profile = name
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
opt.on '-f', '--format NAME', 'report format' do |name|
|
|
63
|
+
conf.format = name
|
|
64
|
+
end
|
|
65
|
+
opt.on '-y', '--tapy', 'shortcut for -f tapy' do
|
|
66
|
+
conf.format = 'tapy'
|
|
67
|
+
end
|
|
68
|
+
opt.on '-j', '--tapj', 'shortcut for -f tapj' do
|
|
69
|
+
conf.format = 'tapj'
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
opt.on '-t', '--tag TAG', 'select tests by tag' do |tag|
|
|
73
|
+
conf.tags.concat makelist(tag)
|
|
74
|
+
end
|
|
75
|
+
opt.on '-u', '--unit TAG', 'select tests by software unit' do |unit|
|
|
76
|
+
conf.units.concat makelist(unit)
|
|
77
|
+
end
|
|
78
|
+
opt.on '-m', '--match TEXT', 'select tests by description' do |text|
|
|
79
|
+
conf.match.concat makelist(text)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
opt.on '-A', '--autopath', 'automatically add paths to $LOAD_PATH' do |paths|
|
|
83
|
+
conf.autopath = true
|
|
84
|
+
end
|
|
85
|
+
opt.on '-I', '--loadpath PATH', 'add given path to $LOAD_PATH' do |paths|
|
|
86
|
+
conf.loadpath.concat makelist(paths)
|
|
87
|
+
end
|
|
88
|
+
opt.on '-C', '--chdir DIR', 'change directory before running tests' do |dir|
|
|
89
|
+
conf.chdir = dir
|
|
90
|
+
end
|
|
91
|
+
opt.on '-R', '--chroot', 'change to project root directory before running tests' do
|
|
92
|
+
conf.chdir = Config.root
|
|
93
|
+
end
|
|
94
|
+
opt.on '-r', '--require FILE', 'require file' do |file|
|
|
95
|
+
conf.requires.concat makelist(file)
|
|
96
|
+
end
|
|
97
|
+
opt.on '-c', '--config FILE', "use alternate config file" do |file|
|
|
98
|
+
conf.config_files << file
|
|
99
|
+
end
|
|
100
|
+
opt.on '-V' , '--verbose', 'provide extra detail in reports' do
|
|
101
|
+
conf.verbose = true
|
|
102
|
+
end
|
|
103
|
+
opt.on("--[no-]ansi" , 'turn on/off ANSI colors'){ |v| $ansi = v }
|
|
104
|
+
opt.on("--debug" , 'turn on debugging mode'){ $DEBUG = true }
|
|
105
|
+
|
|
106
|
+
opt.on('--version' , 'display rubytest version') do
|
|
107
|
+
puts "rubytest v#{Test::VERSION}"
|
|
108
|
+
exit
|
|
109
|
+
end
|
|
110
|
+
opt.on('-h', '--help', 'display this help message'){
|
|
111
|
+
puts opt
|
|
112
|
+
exit
|
|
113
|
+
}
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Test run configuration.
|
|
118
|
+
#
|
|
119
|
+
# @return [Hash]
|
|
120
|
+
def config
|
|
121
|
+
@config
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Load configuration file.
|
|
125
|
+
def load_config
|
|
126
|
+
file = config_file
|
|
127
|
+
unless file
|
|
128
|
+
if chdir
|
|
129
|
+
file = Dir.glob(File.join(chdir, GLOB_CONFIG)).first
|
|
130
|
+
else
|
|
131
|
+
file = Dir.glob(GLOB_CONFIG).first
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
load file if file
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Find traditional configuration file.
|
|
138
|
+
#
|
|
139
|
+
# @return [String] Config file path.
|
|
140
|
+
def config_file
|
|
141
|
+
@config_file
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def profile
|
|
145
|
+
@profile
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def profile=(name)
|
|
149
|
+
@profile = name.to_s
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def format
|
|
153
|
+
@config[:format]
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def format=(format)
|
|
157
|
+
@config[:format] = format.to_s
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def tags
|
|
161
|
+
@config[:tags] ||= []
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
def units
|
|
165
|
+
@config[:units] ||= []
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def match
|
|
169
|
+
@config[:match] ||= []
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def autopath?
|
|
173
|
+
@config[:autopath]
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def autopath=(bool)
|
|
177
|
+
@config[:autopath] = !! bool
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
def chdir
|
|
181
|
+
@config[:chdir]
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def chdir=(dir)
|
|
185
|
+
@config[:chdir] = dir.to_str
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
def loadpath
|
|
189
|
+
@config[:loadpath] ||= []
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
def requires
|
|
193
|
+
@config[:requires] ||= []
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
def verbose?
|
|
197
|
+
@config[:verbose]
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
def verbose=(bool)
|
|
201
|
+
@config[:verbose] = !! bool
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
private
|
|
205
|
+
|
|
206
|
+
# If given a String then split up at `:` and `;` markers.
|
|
207
|
+
# Otherwise ensure the list is an Array and the entries are
|
|
208
|
+
# all strings and not empty.
|
|
209
|
+
#
|
|
210
|
+
# @return [Array<String>]
|
|
211
|
+
def makelist(list)
|
|
212
|
+
case list
|
|
213
|
+
when String
|
|
214
|
+
list = list.split(/[:;]/)
|
|
215
|
+
else
|
|
216
|
+
list = Array(list).map{ |path| path.to_s }
|
|
217
|
+
end
|
|
218
|
+
list.reject{ |path| path.strip.empty? }
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
end
|
data/lib/rubytest.rb
CHANGED
|
@@ -3,43 +3,17 @@
|
|
|
3
3
|
$TEST_SUITE = [] unless defined?($TEST_SUITE)
|
|
4
4
|
$RUBY_IGNORE_CALLERS = [] unless defined?($RUBY_IGNORE_CALLERS)
|
|
5
5
|
|
|
6
|
-
#require 'brass' # TODO: Should we require BRASS ?
|
|
7
6
|
require 'ansi/core'
|
|
8
7
|
|
|
9
8
|
module Test
|
|
10
|
-
|
|
11
|
-
def self.index
|
|
12
|
-
@index ||= (
|
|
13
|
-
require 'yaml'
|
|
14
|
-
__dir__ = File.dirname(__FILE__)
|
|
15
|
-
file = File.expand_path('rubytest.yml', __dir__)
|
|
16
|
-
YAML.load_file(file)
|
|
17
|
-
)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
# Lookup missing constant in project index.
|
|
21
|
-
def self.const_missing(name)
|
|
22
|
-
index[name.to_s.downcase] || super(name)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
if RUBY_VERSION < '1.9'
|
|
27
|
-
require 'rubytest/core_ext'
|
|
28
|
-
require 'rubytest/code_snippet'
|
|
29
|
-
require 'rubytest/config'
|
|
30
|
-
require 'rubytest/recorder'
|
|
31
|
-
require 'rubytest/advice'
|
|
32
|
-
require 'rubytest/runner'
|
|
33
|
-
require 'rubytest/format/abstract'
|
|
34
|
-
require 'rubytest/format/abstract_hash'
|
|
35
|
-
else
|
|
36
|
-
require_relative 'rubytest/core_ext'
|
|
37
|
-
require_relative 'rubytest/code_snippet'
|
|
38
|
-
require_relative 'rubytest/config'
|
|
39
|
-
require_relative 'rubytest/recorder'
|
|
40
|
-
require_relative 'rubytest/advice'
|
|
41
|
-
require_relative 'rubytest/runner'
|
|
42
|
-
require_relative 'rubytest/format/abstract'
|
|
43
|
-
require_relative 'rubytest/format/abstract_hash'
|
|
9
|
+
VERSION = '0.9.0'
|
|
44
10
|
end
|
|
45
11
|
|
|
12
|
+
require_relative 'rubytest/core_ext'
|
|
13
|
+
require_relative 'rubytest/code_snippet'
|
|
14
|
+
require_relative 'rubytest/config'
|
|
15
|
+
require_relative 'rubytest/recorder'
|
|
16
|
+
require_relative 'rubytest/advice'
|
|
17
|
+
require_relative 'rubytest/runner'
|
|
18
|
+
require_relative 'rubytest/format/abstract'
|
|
19
|
+
require_relative 'rubytest/format/abstract_hash'
|
data/lib/test.rb
CHANGED
metadata
CHANGED
|
@@ -1,109 +1,124 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubytest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
8
|
-
autorequire:
|
|
7
|
+
- Trans
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: ansi
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '1.5'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '1.5'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: rake
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '13'
|
|
33
|
+
type: :development
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '13'
|
|
13
40
|
- !ruby/object:Gem::Dependency
|
|
14
41
|
name: qed
|
|
15
42
|
requirement: !ruby/object:Gem::Requirement
|
|
16
43
|
requirements:
|
|
17
|
-
- -
|
|
44
|
+
- - ">="
|
|
18
45
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
46
|
+
version: '2.9'
|
|
20
47
|
type: :development
|
|
21
48
|
prerelease: false
|
|
22
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
50
|
requirements:
|
|
24
|
-
- -
|
|
51
|
+
- - ">="
|
|
25
52
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
53
|
+
version: '2.9'
|
|
27
54
|
- !ruby/object:Gem::Dependency
|
|
28
55
|
name: ae
|
|
29
56
|
requirement: !ruby/object:Gem::Requirement
|
|
30
57
|
requirements:
|
|
31
|
-
- -
|
|
58
|
+
- - ">="
|
|
32
59
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
60
|
+
version: '1.8'
|
|
34
61
|
type: :development
|
|
35
62
|
prerelease: false
|
|
36
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
64
|
requirements:
|
|
38
|
-
- -
|
|
65
|
+
- - ">="
|
|
39
66
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
67
|
+
version: '1.8'
|
|
41
68
|
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.
|
|
43
|
-
is the core component of the system, and is the only part strictly necessary to
|
|
44
|
-
run tests.
|
|
69
|
+
test framework, even running tests from multiple frameworks in a single pass.
|
|
45
70
|
email:
|
|
46
71
|
- transfire@gmail.com
|
|
47
|
-
executables:
|
|
72
|
+
executables:
|
|
73
|
+
- rubytest
|
|
48
74
|
extensions: []
|
|
49
|
-
extra_rdoc_files:
|
|
75
|
+
extra_rdoc_files: []
|
|
76
|
+
files:
|
|
77
|
+
- HISTORY.md
|
|
50
78
|
- LICENSE.txt
|
|
51
79
|
- README.md
|
|
52
|
-
-
|
|
53
|
-
files:
|
|
54
|
-
- .index
|
|
80
|
+
- bin/rubytest
|
|
55
81
|
- demo/01_test.md
|
|
56
82
|
- demo/02_case.md
|
|
57
83
|
- demo/applique/ae.rb
|
|
58
84
|
- demo/applique/rubytest.rb
|
|
85
|
+
- lib/rubytest.rb
|
|
59
86
|
- lib/rubytest/advice.rb
|
|
60
87
|
- lib/rubytest/autorun.rb
|
|
88
|
+
- lib/rubytest/cli.rb
|
|
61
89
|
- lib/rubytest/code_snippet.rb
|
|
62
90
|
- lib/rubytest/config.rb
|
|
91
|
+
- lib/rubytest/core_ext.rb
|
|
63
92
|
- lib/rubytest/core_ext/assertion.rb
|
|
64
93
|
- lib/rubytest/core_ext/exception.rb
|
|
65
94
|
- lib/rubytest/core_ext/file.rb
|
|
66
95
|
- lib/rubytest/core_ext/string.rb
|
|
67
|
-
- lib/rubytest/core_ext.rb
|
|
68
96
|
- lib/rubytest/format/abstract.rb
|
|
69
97
|
- lib/rubytest/format/abstract_hash.rb
|
|
70
98
|
- lib/rubytest/format/dotprogress.rb
|
|
71
99
|
- lib/rubytest/format/test.rb
|
|
72
100
|
- lib/rubytest/recorder.rb
|
|
73
101
|
- lib/rubytest/runner.rb
|
|
74
|
-
- lib/rubytest.rb
|
|
75
|
-
- lib/rubytest.yml
|
|
76
102
|
- lib/test.rb
|
|
77
|
-
|
|
78
|
-
- test/helper.rb
|
|
79
|
-
- README.md
|
|
80
|
-
- HISTORY.md
|
|
81
|
-
- LICENSE.txt
|
|
82
|
-
homepage: http://rubyworks.github.com/rubytest
|
|
103
|
+
homepage: https://github.com/rubyworks/rubytest
|
|
83
104
|
licenses:
|
|
84
105
|
- BSD-2-Clause
|
|
85
106
|
metadata: {}
|
|
86
|
-
post_install_message:
|
|
87
107
|
rdoc_options: []
|
|
88
108
|
require_paths:
|
|
89
109
|
- lib
|
|
90
110
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
91
111
|
requirements:
|
|
92
|
-
- -
|
|
112
|
+
- - ">="
|
|
93
113
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: '
|
|
114
|
+
version: '3.1'
|
|
95
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
116
|
requirements:
|
|
97
|
-
- -
|
|
117
|
+
- - ">="
|
|
98
118
|
- !ruby/object:Gem::Version
|
|
99
119
|
version: '0'
|
|
100
120
|
requirements: []
|
|
101
|
-
|
|
102
|
-
rubygems_version: 2.0.3
|
|
103
|
-
signing_key:
|
|
121
|
+
rubygems_version: 3.6.9
|
|
104
122
|
specification_version: 4
|
|
105
123
|
summary: Ruby Universal Test Harness
|
|
106
|
-
test_files:
|
|
107
|
-
- test/helper.rb
|
|
108
|
-
- test/basic_case.rb
|
|
109
|
-
has_rdoc:
|
|
124
|
+
test_files: []
|
data/.index
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
revision: 2013
|
|
3
|
-
type: ruby
|
|
4
|
-
sources:
|
|
5
|
-
- Indexfile
|
|
6
|
-
- Gemfile
|
|
7
|
-
authors:
|
|
8
|
-
- name: trans
|
|
9
|
-
email: transfire@gmail.com
|
|
10
|
-
organizations: []
|
|
11
|
-
requirements:
|
|
12
|
-
- groups:
|
|
13
|
-
- test
|
|
14
|
-
version: '>= 0'
|
|
15
|
-
name: qed
|
|
16
|
-
- groups:
|
|
17
|
-
- test
|
|
18
|
-
version: '>= 0'
|
|
19
|
-
name: ae
|
|
20
|
-
conflicts: []
|
|
21
|
-
alternatives: []
|
|
22
|
-
resources:
|
|
23
|
-
- type: home
|
|
24
|
-
uri: http://rubyworks.github.com/rubytest
|
|
25
|
-
label: Homepage
|
|
26
|
-
- type: code
|
|
27
|
-
uri: http://github.com/rubyworks/rubytest
|
|
28
|
-
label: Source Code
|
|
29
|
-
- type: mail
|
|
30
|
-
uri: http://groups.google.com/group/rubyworks-mailinglist
|
|
31
|
-
label: Mailing List
|
|
32
|
-
repositories:
|
|
33
|
-
- name: upstream
|
|
34
|
-
scm: git
|
|
35
|
-
uri: git@github.com:rubyworks/rubytest.git
|
|
36
|
-
categories: []
|
|
37
|
-
copyrights:
|
|
38
|
-
- holder: RubyWorks
|
|
39
|
-
year: '2011'
|
|
40
|
-
license: BSD-2-Clause
|
|
41
|
-
customs: []
|
|
42
|
-
paths:
|
|
43
|
-
lib:
|
|
44
|
-
- lib
|
|
45
|
-
name: rubytest
|
|
46
|
-
title: Rubytest
|
|
47
|
-
version: 0.8.1
|
|
48
|
-
summary: Ruby Universal Test Harness
|
|
49
|
-
description: Rubytest is a universal test harness for Ruby. It can handle any compliant
|
|
50
|
-
test framework, even running tests from multiple frameworks in a single pass. This
|
|
51
|
-
is the core component of the system, and is the only part strictly necessary to
|
|
52
|
-
run tests.
|
|
53
|
-
created: '2011-07-23'
|
|
54
|
-
date: '2014-07-19'
|
data/lib/rubytest.yml
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
revision: 2013
|
|
3
|
-
type: ruby
|
|
4
|
-
sources:
|
|
5
|
-
- Indexfile
|
|
6
|
-
- Gemfile
|
|
7
|
-
authors:
|
|
8
|
-
- name: trans
|
|
9
|
-
email: transfire@gmail.com
|
|
10
|
-
organizations: []
|
|
11
|
-
requirements:
|
|
12
|
-
- groups:
|
|
13
|
-
- test
|
|
14
|
-
version: '>= 0'
|
|
15
|
-
name: qed
|
|
16
|
-
- groups:
|
|
17
|
-
- test
|
|
18
|
-
version: '>= 0'
|
|
19
|
-
name: ae
|
|
20
|
-
conflicts: []
|
|
21
|
-
alternatives: []
|
|
22
|
-
resources:
|
|
23
|
-
- type: home
|
|
24
|
-
uri: http://rubyworks.github.com/rubytest
|
|
25
|
-
label: Homepage
|
|
26
|
-
- type: code
|
|
27
|
-
uri: http://github.com/rubyworks/rubytest
|
|
28
|
-
label: Source Code
|
|
29
|
-
- type: mail
|
|
30
|
-
uri: http://groups.google.com/group/rubyworks-mailinglist
|
|
31
|
-
label: Mailing List
|
|
32
|
-
repositories:
|
|
33
|
-
- name: upstream
|
|
34
|
-
scm: git
|
|
35
|
-
uri: git@github.com:rubyworks/rubytest.git
|
|
36
|
-
categories: []
|
|
37
|
-
copyrights:
|
|
38
|
-
- holder: RubyWorks
|
|
39
|
-
year: '2011'
|
|
40
|
-
license: BSD-2-Clause
|
|
41
|
-
customs: []
|
|
42
|
-
paths:
|
|
43
|
-
lib:
|
|
44
|
-
- lib
|
|
45
|
-
name: rubytest
|
|
46
|
-
title: Rubytest
|
|
47
|
-
version: 0.8.1
|
|
48
|
-
summary: Ruby Universal Test Harness
|
|
49
|
-
description: Rubytest is a universal test harness for Ruby. It can handle any compliant
|
|
50
|
-
test framework, even running tests from multiple frameworks in a single pass. This
|
|
51
|
-
is the core component of the system, and is the only part strictly necessary to
|
|
52
|
-
run tests.
|
|
53
|
-
created: '2011-07-23'
|
|
54
|
-
date: '2014-07-19'
|
data/test/basic_case.rb
DELETED
data/test/helper.rb
DELETED
|
File without changes
|