minitest 5.25.4 → 6.0.2
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +153 -0
- data/Manifest.txt +13 -4
- data/README.rdoc +33 -105
- data/Rakefile +10 -2
- data/bin/minitest +5 -0
- data/design_rationale.rb +21 -19
- data/lib/hoe/minitest.rb +2 -1
- data/lib/minitest/assertions.rb +37 -74
- data/lib/minitest/autorun.rb +3 -4
- data/lib/minitest/benchmark.rb +3 -3
- data/lib/minitest/bisect.rb +304 -0
- data/lib/minitest/complete.rb +56 -0
- data/lib/minitest/expectations.rb +2 -2
- data/lib/minitest/find_minimal_combination.rb +127 -0
- data/lib/minitest/hell.rb +1 -1
- data/lib/minitest/manual_plugins.rb +4 -16
- data/lib/minitest/parallel.rb +5 -3
- data/lib/minitest/path_expander.rb +432 -0
- data/lib/minitest/pride.rb +2 -2
- data/lib/minitest/pride_plugin.rb +1 -1
- data/lib/minitest/server.rb +49 -0
- data/lib/minitest/server_plugin.rb +88 -0
- data/lib/minitest/spec.rb +11 -37
- data/lib/minitest/sprint.rb +105 -0
- data/lib/minitest/sprint_plugin.rb +39 -0
- data/lib/minitest/test.rb +9 -14
- data/lib/minitest/test_task.rb +44 -20
- data/lib/minitest.rb +104 -107
- data/test/minitest/metametameta.rb +1 -1
- data/test/minitest/test_bisect.rb +249 -0
- data/test/minitest/test_find_minimal_combination.rb +138 -0
- data/test/minitest/test_minitest_assertions.rb +51 -108
- data/test/minitest/test_minitest_benchmark.rb +14 -0
- data/test/minitest/test_minitest_reporter.rb +6 -5
- data/test/minitest/test_minitest_spec.rb +60 -128
- data/test/minitest/test_minitest_test.rb +40 -101
- data/test/minitest/test_path_expander.rb +229 -0
- data/test/minitest/test_server.rb +146 -0
- data.tar.gz.sig +0 -0
- metadata +92 -36
- metadata.gz.sig +0 -0
- data/.autotest +0 -34
- data/lib/minitest/mock.rb +0 -347
- data/lib/minitest/unit.rb +0 -42
- data/test/minitest/test_minitest_mock.rb +0 -1218
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
require "minitest/autorun"
|
|
2
|
+
require "minitest/path_expander"
|
|
3
|
+
|
|
4
|
+
class TestPathExpander < Minitest::Test
|
|
5
|
+
attr_accessor :args
|
|
6
|
+
attr_accessor :expander
|
|
7
|
+
|
|
8
|
+
MT_VPE = Minitest::VendoredPathExpander
|
|
9
|
+
|
|
10
|
+
def setup
|
|
11
|
+
super
|
|
12
|
+
|
|
13
|
+
self.args = []
|
|
14
|
+
|
|
15
|
+
self.expander = MT_VPE.new args, "*.rb"
|
|
16
|
+
|
|
17
|
+
@pe_tmp_path = "test/pe_tmp"
|
|
18
|
+
@pe_tst_path = "test/pe_tmp/test"
|
|
19
|
+
|
|
20
|
+
@orig_pwd = Dir.pwd
|
|
21
|
+
FileUtils.mkdir_p @pe_tst_path
|
|
22
|
+
FileUtils.touch ["#{@pe_tst_path}/test_path_expander.rb", "#{@pe_tst_path}/test_bad.rb"]
|
|
23
|
+
Dir.chdir @pe_tmp_path
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def teardown
|
|
27
|
+
super
|
|
28
|
+
|
|
29
|
+
Dir.chdir @orig_pwd
|
|
30
|
+
|
|
31
|
+
FileUtils.rm_rf @pe_tmp_path
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def assert_filter_files exp, filter, files = %w[test/dog_and_cat.rb]
|
|
35
|
+
ignore = StringIO.new filter
|
|
36
|
+
act = expander.filter_files files, ignore
|
|
37
|
+
assert_equal exp, act
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def assert_filter_files_absolute_paths exp, filter, files = [File.join(Dir.pwd, 'test/dog_and_cat.rb')]
|
|
41
|
+
assert_filter_files exp, filter, files
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def assert_process_args exp_files, exp_args, *args
|
|
45
|
+
expander.args.concat args
|
|
46
|
+
|
|
47
|
+
assert_equal [exp_files.sort, exp_args], expander.process_args
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_expand_dirs_to_files
|
|
51
|
+
exp = %w[test/test_bad.rb test/test_path_expander.rb]
|
|
52
|
+
|
|
53
|
+
assert_equal exp, expander.expand_dirs_to_files("test")
|
|
54
|
+
assert_equal %w[Rakefile], expander.expand_dirs_to_files("Rakefile")
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def test_expand_dirs_to_files__sorting
|
|
58
|
+
exp = %w[test/test_bad.rb test/test_path_expander.rb]
|
|
59
|
+
input = %w[test/test_path_expander.rb test/test_bad.rb]
|
|
60
|
+
|
|
61
|
+
assert_equal exp, expander.expand_dirs_to_files(*input)
|
|
62
|
+
assert_equal %w[Rakefile], expander.expand_dirs_to_files("Rakefile")
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def test_expand_dirs_to_files__leading_dot
|
|
66
|
+
exp = %w[test/test_bad.rb test/test_path_expander.rb]
|
|
67
|
+
|
|
68
|
+
assert_equal exp, expander.expand_dirs_to_files("./test")
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def test_filter_files_dir
|
|
72
|
+
assert_filter_files [], "test/"
|
|
73
|
+
assert_filter_files_absolute_paths [], "test/"
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_filter_files_files
|
|
77
|
+
example = %w[test/file.rb test/sub/file.rb top/test/perf.rb]
|
|
78
|
+
example_absolute_paths = example.map { |e| File.join(Dir.pwd, e) }
|
|
79
|
+
|
|
80
|
+
assert_filter_files [], "test/*.rb"
|
|
81
|
+
|
|
82
|
+
assert_filter_files example[1..-1], "test/*.rb", example
|
|
83
|
+
|
|
84
|
+
assert_filter_files_absolute_paths [], "test/*.rb"
|
|
85
|
+
|
|
86
|
+
assert_filter_files_absolute_paths example_absolute_paths[1..-1], "test/*.rb", example_absolute_paths
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def test_filter_files_glob
|
|
90
|
+
assert_filter_files [], "test*"
|
|
91
|
+
assert_filter_files [], "test*", ["test/lib/woot.rb"]
|
|
92
|
+
assert_filter_files [], "*.rb"
|
|
93
|
+
assert_filter_files [], "*dog*.rb"
|
|
94
|
+
|
|
95
|
+
assert_filter_files_absolute_paths [], "test*"
|
|
96
|
+
assert_filter_files_absolute_paths [], "test*", [File.join(Dir.pwd, "test/lib/woot.rb")]
|
|
97
|
+
assert_filter_files_absolute_paths [], "*.rb"
|
|
98
|
+
assert_filter_files_absolute_paths [], "*dog*.rb"
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def test_filter_files_glob_miss
|
|
102
|
+
miss = %w[test/dog_and_cat.rb]
|
|
103
|
+
miss_absolute = [File.join(Dir.pwd, 'test/dog_and_cat.rb')]
|
|
104
|
+
|
|
105
|
+
assert_filter_files miss, "test"
|
|
106
|
+
assert_filter_files miss, "nope"
|
|
107
|
+
|
|
108
|
+
assert_filter_files_absolute_paths miss_absolute, "test"
|
|
109
|
+
assert_filter_files_absolute_paths miss_absolute, "nope"
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def test_filter_files__ignore_file
|
|
113
|
+
files = expander.expand_dirs_to_files "test"
|
|
114
|
+
|
|
115
|
+
File.write ".mtignore", "test/*.rb"
|
|
116
|
+
|
|
117
|
+
act = expander.filter_files files, ".mtignore"
|
|
118
|
+
|
|
119
|
+
assert_equal [], act
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def test_process
|
|
123
|
+
self.args.concat %w[test --seed 42]
|
|
124
|
+
|
|
125
|
+
act = expander.process
|
|
126
|
+
|
|
127
|
+
assert_kind_of Enumerator, act
|
|
128
|
+
assert_equal %w[test/test_bad.rb test/test_path_expander.rb], act.to_a
|
|
129
|
+
assert_equal %w[--seed 42], expander.args
|
|
130
|
+
assert_equal %w[--seed 42], args # affected our original array (eg, ARGV)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def test_process__block
|
|
134
|
+
self.args.concat %w[test --seed 42]
|
|
135
|
+
|
|
136
|
+
act = []
|
|
137
|
+
result = expander.process { |x| act << x }
|
|
138
|
+
|
|
139
|
+
assert_same expander, result
|
|
140
|
+
assert_equal %w[test/test_bad.rb test/test_path_expander.rb], act.to_a
|
|
141
|
+
assert_equal %w[--seed 42], expander.args
|
|
142
|
+
assert_equal %w[--seed 42], args # affected our original array (eg, ARGV)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def with_tempfile *lines
|
|
146
|
+
require "tempfile"
|
|
147
|
+
|
|
148
|
+
Tempfile.open("tmp") do |f|
|
|
149
|
+
f.puts lines
|
|
150
|
+
f.flush
|
|
151
|
+
f.rewind
|
|
152
|
+
|
|
153
|
+
yield f
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def test_process_args_at
|
|
158
|
+
with_tempfile %w[test -test/test_bad.rb --seed 24] do |f|
|
|
159
|
+
assert_process_args(%w[test/test_path_expander.rb],
|
|
160
|
+
%w[--seed 24],
|
|
161
|
+
"@#{f.path}")
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
def test_process_args_dash_dir
|
|
166
|
+
assert_process_args(%w[],
|
|
167
|
+
%w[],
|
|
168
|
+
"test", "-test")
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
def test_process_args_dash_file
|
|
172
|
+
assert_process_args(%w[test/test_path_expander.rb],
|
|
173
|
+
%w[],
|
|
174
|
+
"test", "-test/test_bad.rb")
|
|
175
|
+
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
def test_process_args_dash_other
|
|
179
|
+
assert_process_args(%w[],
|
|
180
|
+
%w[--verbose],
|
|
181
|
+
"--verbose")
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def test_process_args_dir
|
|
185
|
+
assert_process_args(%w[test/test_bad.rb test/test_path_expander.rb],
|
|
186
|
+
%w[],
|
|
187
|
+
"test")
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
def test_process_args_file
|
|
191
|
+
assert_process_args(%w[test/test_path_expander.rb],
|
|
192
|
+
%w[],
|
|
193
|
+
"test/test_path_expander.rb")
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
def test_process_args_other
|
|
197
|
+
assert_process_args(%w[],
|
|
198
|
+
%w[42],
|
|
199
|
+
"42")
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
def test_process_args_root
|
|
203
|
+
assert_process_args(%w[],
|
|
204
|
+
%w[-n /./],
|
|
205
|
+
"-n",
|
|
206
|
+
"/./")
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
def test_process_args_no_files
|
|
210
|
+
self.expander = MT_VPE.new args, "*.rb", "test" # extra test default
|
|
211
|
+
|
|
212
|
+
assert_process_args(%w[test/test_bad.rb test/test_path_expander.rb],
|
|
213
|
+
%w[-v],
|
|
214
|
+
"-v")
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
def test_process_args_dash
|
|
218
|
+
assert_process_args(%w[-],
|
|
219
|
+
%w[-v],
|
|
220
|
+
"-", "-v")
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
def test_process_flags
|
|
224
|
+
exp = %w[a b c]
|
|
225
|
+
act = expander.process_flags %w[a b c]
|
|
226
|
+
|
|
227
|
+
assert_equal exp, act
|
|
228
|
+
end
|
|
229
|
+
end
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
require "minitest/autorun"
|
|
2
|
+
require_relative "../../lib/minitest/server"
|
|
3
|
+
require_relative "../../lib/minitest/server_plugin"
|
|
4
|
+
|
|
5
|
+
class BogoTests < Minitest::Test
|
|
6
|
+
def pass_test
|
|
7
|
+
assert true
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def fail_test
|
|
11
|
+
assert false, "fail"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def error_test
|
|
15
|
+
raise "error"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def unmarshalable_ivar_test
|
|
19
|
+
raise "error"
|
|
20
|
+
rescue => e
|
|
21
|
+
e.instance_variable_set :@binding, binding
|
|
22
|
+
raise
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def unmarshalable_class_test
|
|
26
|
+
exc = Class.new RuntimeError
|
|
27
|
+
raise exc, "error"
|
|
28
|
+
rescue => e
|
|
29
|
+
e.instance_variable_set :@binding, binding
|
|
30
|
+
raise
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def wtf_test
|
|
34
|
+
assert false, "wtf"
|
|
35
|
+
rescue Minitest::Assertion => e
|
|
36
|
+
e.instance_variable_set :@proc, proc { 42 }
|
|
37
|
+
raise e
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class TestServerReporter < Minitest::ServerReporter
|
|
42
|
+
def record o
|
|
43
|
+
super
|
|
44
|
+
|
|
45
|
+
Marshal.dump o
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
class Client
|
|
50
|
+
def run pid, type
|
|
51
|
+
reporter = TestServerReporter.new pid
|
|
52
|
+
|
|
53
|
+
unless Minitest.respond_to? :run_one_method then # MT6
|
|
54
|
+
BogoTests.run BogoTests, "#{type}_test", reporter
|
|
55
|
+
else
|
|
56
|
+
reporter.start
|
|
57
|
+
reporter.record Minitest.run_one_method(BogoTests, "#{type}_test")
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
class Server
|
|
63
|
+
attr_accessor :results
|
|
64
|
+
|
|
65
|
+
def self.run type = nil
|
|
66
|
+
s = self.new
|
|
67
|
+
s.run type
|
|
68
|
+
s.results
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def run type = nil
|
|
72
|
+
Minitest::Server.run self
|
|
73
|
+
|
|
74
|
+
Client.new.run $$, type
|
|
75
|
+
ensure
|
|
76
|
+
Minitest::Server.stop
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def minitest_start
|
|
80
|
+
# do nothing
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def minitest_result(*vals)
|
|
84
|
+
self.results = vals
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
class ServerTest < Minitest::Test
|
|
89
|
+
def test_pass
|
|
90
|
+
assert_run "pass", [], 1
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def test_fail
|
|
94
|
+
assert_run "fail", ["fail"], 1
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
FILE = __FILE__.delete_prefix "#{Dir.pwd}/"
|
|
98
|
+
|
|
99
|
+
def test_error
|
|
100
|
+
msg = <<~EOM.chomp
|
|
101
|
+
RuntimeError: error
|
|
102
|
+
#{FILE}:##:in `error_test'
|
|
103
|
+
EOM
|
|
104
|
+
|
|
105
|
+
assert_run "error", [msg], 0
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def test_error_unmarshalable__ivar
|
|
109
|
+
msg = <<~EOM.chomp
|
|
110
|
+
RuntimeError: error
|
|
111
|
+
#{FILE}:##:in `unmarshalable_ivar_test'
|
|
112
|
+
EOM
|
|
113
|
+
|
|
114
|
+
assert_run "unmarshalable_ivar", [msg], 0
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def test_error_unmarshalable__class
|
|
118
|
+
msg = <<~EOM.chomp
|
|
119
|
+
RuntimeError: Neutered Exception #<Class:0xXXXXXX>: error
|
|
120
|
+
#{FILE}:##:in `unmarshalable_class_test'
|
|
121
|
+
EOM
|
|
122
|
+
|
|
123
|
+
assert_run "unmarshalable_class", [msg], 0
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def test_wtf
|
|
127
|
+
assert_run "wtf", ["wtf"], 1
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def assert_run type, e, n
|
|
131
|
+
e[0] = e[0].sub "`", "'BogoTests#" if RUBY_VERSION > "3.4" if e[0]
|
|
132
|
+
|
|
133
|
+
# client.minitest_result file, klass, method, fails, assertions, time
|
|
134
|
+
f, k, m, (msg,), a, _time = Server.run type
|
|
135
|
+
|
|
136
|
+
msg &&= msg
|
|
137
|
+
.message
|
|
138
|
+
.gsub(/0x\h+/, "0xXXXXXX")
|
|
139
|
+
.gsub(/:\d{2,}/, ":##")
|
|
140
|
+
|
|
141
|
+
act = [f, k, m, [msg].compact, a, 0]
|
|
142
|
+
exp = ["test/minitest/test_server.rb", "BogoTests", "#{type}_test", e, n, 0]
|
|
143
|
+
|
|
144
|
+
assert_equal exp, act
|
|
145
|
+
end
|
|
146
|
+
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: minitest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 6.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Davis
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain:
|
|
11
10
|
- |
|
|
12
11
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
12
|
+
MIIDPjCCAiagAwIBAgIBCjANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
|
14
13
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
|
15
|
-
|
|
14
|
+
GRYDY29tMB4XDTI2MDEwNzAxMDkxNFoXDTI3MDEwNzAxMDkxNFowRTETMBEGA1UE
|
|
16
15
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
|
17
16
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
|
18
17
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
|
@@ -22,52 +21,94 @@ cert_chain:
|
|
|
22
21
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
|
23
22
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
|
24
23
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
AQA/X8/PKTTc/IkYQEUL6XWtfK8fAfbuLJzmLcz6f2ZWrtBvPsYvqRuwI1bWUtil
|
|
25
|
+
2ibJEfIuSIHX6BsUTX18+hlaIussf6EWq/YkE7e2BKmgQE42vSOZMce0kCEAPbx0
|
|
26
|
+
rQtqonfWTHQ8UbQ7GqCL3gDQ0QDD2B+HUlb4uaCZ2icxqa/eOtxMvHC2tj+h0xKY
|
|
27
|
+
xL84ipM5kr0bHGf9/MRZJWcw51urueNycBXu1Xh+pEN8qBmYsFRR4SIODLClybAO
|
|
28
|
+
6cbm2PyPQgKNiqE4H+IQrDVHd9bJs1XgLElk3qoaJBWXc/5fy0J1imYb25UqmiHG
|
|
29
|
+
snGe1hrppvBRdcyEzvhfIPjI
|
|
31
30
|
-----END CERTIFICATE-----
|
|
32
|
-
date:
|
|
31
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
33
32
|
dependencies:
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: prism
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '1.5'
|
|
40
|
+
type: :runtime
|
|
41
|
+
prerelease: false
|
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '1.5'
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: drb
|
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '2.0'
|
|
54
|
+
type: :runtime
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '2.0'
|
|
34
61
|
- !ruby/object:Gem::Dependency
|
|
35
62
|
name: rdoc
|
|
36
63
|
requirement: !ruby/object:Gem::Requirement
|
|
37
64
|
requirements:
|
|
38
65
|
- - ">="
|
|
39
66
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
67
|
+
version: '6.0'
|
|
41
68
|
- - "<"
|
|
42
69
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '
|
|
70
|
+
version: '8'
|
|
44
71
|
type: :development
|
|
45
72
|
prerelease: false
|
|
46
73
|
version_requirements: !ruby/object:Gem::Requirement
|
|
47
74
|
requirements:
|
|
48
75
|
- - ">="
|
|
49
76
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: '
|
|
77
|
+
version: '6.0'
|
|
51
78
|
- - "<"
|
|
52
79
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
80
|
+
version: '8'
|
|
81
|
+
- !ruby/object:Gem::Dependency
|
|
82
|
+
name: simplecov
|
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
|
84
|
+
requirements:
|
|
85
|
+
- - "~>"
|
|
86
|
+
- !ruby/object:Gem::Version
|
|
87
|
+
version: '0.21'
|
|
88
|
+
type: :development
|
|
89
|
+
prerelease: false
|
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
91
|
+
requirements:
|
|
92
|
+
- - "~>"
|
|
93
|
+
- !ruby/object:Gem::Version
|
|
94
|
+
version: '0.21'
|
|
54
95
|
- !ruby/object:Gem::Dependency
|
|
55
96
|
name: hoe
|
|
56
97
|
requirement: !ruby/object:Gem::Requirement
|
|
57
98
|
requirements:
|
|
58
99
|
- - "~>"
|
|
59
100
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '4.
|
|
101
|
+
version: '4.6'
|
|
61
102
|
type: :development
|
|
62
103
|
prerelease: false
|
|
63
104
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
105
|
requirements:
|
|
65
106
|
- - "~>"
|
|
66
107
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '4.
|
|
108
|
+
version: '4.6'
|
|
68
109
|
description: |-
|
|
69
110
|
minitest provides a complete suite of testing facilities supporting
|
|
70
|
-
TDD, BDD,
|
|
111
|
+
TDD, BDD, and benchmarking.
|
|
71
112
|
|
|
72
113
|
"I had a class with Jim Weirich on testing last week and we were
|
|
73
114
|
allowed to choose our testing frameworks. Kirk Haines and I were
|
|
@@ -93,9 +134,6 @@ description: |-
|
|
|
93
134
|
co-worker doesn't replace your linear algorithm with an exponential
|
|
94
135
|
one!
|
|
95
136
|
|
|
96
|
-
minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)
|
|
97
|
-
object framework.
|
|
98
|
-
|
|
99
137
|
minitest/pride shows pride in testing and adds coloring to your test
|
|
100
138
|
output. I guess it is an example of how to write IO pipes too. :P
|
|
101
139
|
|
|
@@ -119,55 +157,77 @@ description: |-
|
|
|
119
157
|
classes, modules, inheritance, methods. This means you only have to
|
|
120
158
|
learn ruby to use minitest and all of your regular OO practices like
|
|
121
159
|
extract-method refactorings still apply.
|
|
160
|
+
|
|
161
|
+
== Features/Problems:
|
|
162
|
+
|
|
163
|
+
* minitest/autorun - the easy and explicit way to run all your tests.
|
|
164
|
+
* minitest/test - a very fast, simple, and clean test system.
|
|
165
|
+
* minitest/spec - a very fast, simple, and clean spec system.
|
|
166
|
+
* minitest/benchmark - an awesome way to assert your algorithm's performance.
|
|
167
|
+
* minitest/pride - show your pride in testing!
|
|
168
|
+
* minitest/test_task - a full-featured and clean rake task generator.
|
|
169
|
+
* Incredibly small and fast runner, but no bells and whistles.
|
|
170
|
+
* Written by squishy human beings. Software can never be perfect. We will all eventually die.
|
|
122
171
|
email:
|
|
123
172
|
- ryand-ruby@zenspider.com
|
|
124
|
-
executables:
|
|
173
|
+
executables:
|
|
174
|
+
- minitest
|
|
125
175
|
extensions: []
|
|
126
176
|
extra_rdoc_files:
|
|
127
177
|
- History.rdoc
|
|
128
178
|
- Manifest.txt
|
|
129
179
|
- README.rdoc
|
|
130
180
|
files:
|
|
131
|
-
- ".autotest"
|
|
132
181
|
- History.rdoc
|
|
133
182
|
- Manifest.txt
|
|
134
183
|
- README.rdoc
|
|
135
184
|
- Rakefile
|
|
185
|
+
- bin/minitest
|
|
136
186
|
- design_rationale.rb
|
|
137
187
|
- lib/hoe/minitest.rb
|
|
138
188
|
- lib/minitest.rb
|
|
139
189
|
- lib/minitest/assertions.rb
|
|
140
190
|
- lib/minitest/autorun.rb
|
|
141
191
|
- lib/minitest/benchmark.rb
|
|
192
|
+
- lib/minitest/bisect.rb
|
|
193
|
+
- lib/minitest/complete.rb
|
|
142
194
|
- lib/minitest/compress.rb
|
|
143
195
|
- lib/minitest/error_on_warning.rb
|
|
144
196
|
- lib/minitest/expectations.rb
|
|
197
|
+
- lib/minitest/find_minimal_combination.rb
|
|
145
198
|
- lib/minitest/hell.rb
|
|
146
199
|
- lib/minitest/manual_plugins.rb
|
|
147
|
-
- lib/minitest/mock.rb
|
|
148
200
|
- lib/minitest/parallel.rb
|
|
201
|
+
- lib/minitest/path_expander.rb
|
|
149
202
|
- lib/minitest/pride.rb
|
|
150
203
|
- lib/minitest/pride_plugin.rb
|
|
204
|
+
- lib/minitest/server.rb
|
|
205
|
+
- lib/minitest/server_plugin.rb
|
|
151
206
|
- lib/minitest/spec.rb
|
|
207
|
+
- lib/minitest/sprint.rb
|
|
208
|
+
- lib/minitest/sprint_plugin.rb
|
|
152
209
|
- lib/minitest/test.rb
|
|
153
210
|
- lib/minitest/test_task.rb
|
|
154
|
-
- lib/minitest/unit.rb
|
|
155
211
|
- test/minitest/metametameta.rb
|
|
212
|
+
- test/minitest/test_bisect.rb
|
|
213
|
+
- test/minitest/test_find_minimal_combination.rb
|
|
156
214
|
- test/minitest/test_minitest_assertions.rb
|
|
157
215
|
- test/minitest/test_minitest_benchmark.rb
|
|
158
|
-
- test/minitest/test_minitest_mock.rb
|
|
159
216
|
- test/minitest/test_minitest_reporter.rb
|
|
160
217
|
- test/minitest/test_minitest_spec.rb
|
|
161
218
|
- test/minitest/test_minitest_test.rb
|
|
162
219
|
- test/minitest/test_minitest_test_task.rb
|
|
163
|
-
|
|
220
|
+
- test/minitest/test_path_expander.rb
|
|
221
|
+
- test/minitest/test_server.rb
|
|
222
|
+
homepage: https://minite.st/
|
|
164
223
|
licenses:
|
|
165
224
|
- MIT
|
|
166
225
|
metadata:
|
|
167
|
-
homepage_uri: https://
|
|
226
|
+
homepage_uri: https://minite.st/
|
|
227
|
+
source_code_uri: https://github.com/minitest/minitest
|
|
168
228
|
bug_tracker_uri: https://github.com/minitest/minitest/issues
|
|
229
|
+
documentation_uri: https://docs.seattlerb.org/minitest
|
|
169
230
|
changelog_uri: https://github.com/minitest/minitest/blob/master/History.rdoc
|
|
170
|
-
post_install_message:
|
|
171
231
|
rdoc_options:
|
|
172
232
|
- "--main"
|
|
173
233
|
- README.rdoc
|
|
@@ -177,19 +237,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
177
237
|
requirements:
|
|
178
238
|
- - ">="
|
|
179
239
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '2
|
|
181
|
-
- - "<"
|
|
182
|
-
- !ruby/object:Gem::Version
|
|
183
|
-
version: '4.0'
|
|
240
|
+
version: '3.2'
|
|
184
241
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
242
|
requirements:
|
|
186
243
|
- - ">="
|
|
187
244
|
- !ruby/object:Gem::Version
|
|
188
245
|
version: '0'
|
|
189
246
|
requirements: []
|
|
190
|
-
rubygems_version: 3.
|
|
191
|
-
signing_key:
|
|
247
|
+
rubygems_version: 3.7.2
|
|
192
248
|
specification_version: 4
|
|
193
249
|
summary: minitest provides a complete suite of testing facilities supporting TDD,
|
|
194
|
-
BDD,
|
|
250
|
+
BDD, and benchmarking
|
|
195
251
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/.autotest
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# -*- ruby -*-
|
|
2
|
-
|
|
3
|
-
require 'autotest/restart'
|
|
4
|
-
require 'autotest/rcov' if ENV['RCOV']
|
|
5
|
-
|
|
6
|
-
Autotest.add_hook :initialize do |at|
|
|
7
|
-
at.testlib = 'minitest/autorun'
|
|
8
|
-
|
|
9
|
-
bench_tests = %w(TestMinitestBenchmark)
|
|
10
|
-
mock_tests = %w(TestMinitestMock TestMinitestStub)
|
|
11
|
-
spec_tests = %w(TestMinitestReporter TestMetaStatic TestMeta
|
|
12
|
-
TestSpecInTestCase)
|
|
13
|
-
unit_tests = %w(TestMinitestGuard TestMinitestRunnable
|
|
14
|
-
TestMinitestRunner TestMinitestTest TestMinitestUnit
|
|
15
|
-
TestMinitestUnitInherited TestMinitestUnitOrder
|
|
16
|
-
TestMinitestUnitRecording TestMinitestUnitTestCase)
|
|
17
|
-
|
|
18
|
-
{
|
|
19
|
-
bench_tests => "test/minitest/test_minitest_benchmark.rb",
|
|
20
|
-
mock_tests => "test/minitest/test_minitest_mock.rb",
|
|
21
|
-
spec_tests => "test/minitest/test_minitest_reporter.rb",
|
|
22
|
-
unit_tests => "test/minitest/test_minitest_unit.rb",
|
|
23
|
-
}.each do |klasses, file|
|
|
24
|
-
klasses.each do |klass|
|
|
25
|
-
at.extra_class_map[klass] = file
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
at.add_exception 'coverage.info'
|
|
30
|
-
at.add_exception 'coverage'
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# require 'autotest/rcov'
|
|
34
|
-
# Autotest::RCov.command = 'rcov_info'
|