minitest 5.16.2 → 6.0.5
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 +373 -1
- data/Manifest.txt +16 -4
- data/README.rdoc +48 -118
- data/Rakefile +17 -2
- data/bin/minitest +5 -0
- data/design_rationale.rb +21 -19
- data/lib/hoe/minitest.rb +4 -2
- data/lib/minitest/assertions.rb +142 -124
- data/lib/minitest/autorun.rb +3 -11
- data/lib/minitest/benchmark.rb +9 -12
- data/lib/minitest/bisect.rb +304 -0
- data/lib/minitest/complete.rb +56 -0
- data/lib/minitest/compress.rb +94 -0
- data/lib/minitest/error_on_warning.rb +11 -0
- data/lib/minitest/expectations.rb +18 -0
- data/lib/minitest/find_minimal_combination.rb +127 -0
- data/lib/minitest/hell.rb +1 -1
- data/lib/minitest/manual_plugins.rb +4 -0
- data/lib/minitest/parallel.rb +10 -8
- data/lib/minitest/path_expander.rb +432 -0
- data/lib/minitest/pride.rb +2 -2
- data/lib/minitest/pride_plugin.rb +17 -24
- data/lib/minitest/server.rb +49 -0
- data/lib/minitest/server_plugin.rb +88 -0
- data/lib/minitest/spec.rb +27 -46
- data/lib/minitest/sprint.rb +105 -0
- data/lib/minitest/sprint_plugin.rb +39 -0
- data/lib/minitest/test.rb +32 -52
- data/lib/minitest/test_task.rb +68 -42
- data/lib/minitest.rb +361 -215
- data/test/minitest/metametameta.rb +33 -19
- 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 +311 -173
- data/test/minitest/test_minitest_benchmark.rb +15 -1
- data/test/minitest/test_minitest_reporter.rb +148 -23
- data/test/minitest/test_minitest_spec.rb +157 -132
- data/test/minitest/test_minitest_test.rb +270 -204
- data/test/minitest/test_minitest_test_task.rb +18 -7
- data/test/minitest/test_path_expander.rb +229 -0
- data/test/minitest/test_server.rb +146 -0
- data.tar.gz.sig +2 -2
- metadata +97 -37
- metadata.gz.sig +0 -0
- data/.autotest +0 -34
- data/lib/minitest/mock.rb +0 -323
- data/lib/minitest/unit.rb +0 -42
- data/test/minitest/test_minitest_mock.rb +0 -1139
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
require "minitest/autorun"
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
begin
|
|
4
|
+
require "hoe"
|
|
5
|
+
rescue LoadError => e
|
|
6
|
+
warn e.message
|
|
7
|
+
return
|
|
8
|
+
end
|
|
3
9
|
|
|
4
10
|
require "minitest/test_task"
|
|
5
11
|
|
|
@@ -8,11 +14,16 @@ Hoe.load_plugins # make sure Hoe::Test is loaded
|
|
|
8
14
|
class TestHoeTest < Minitest::Test
|
|
9
15
|
PATH = "test/minitest/test_minitest_test_task.rb"
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
def util_cmd_string *prelude_framework
|
|
18
|
+
mt_path = %w[lib test .].join File::PATH_SEPARATOR
|
|
19
|
+
mt_expected = "-I%s -w -e '%srequire %p' -- "
|
|
12
20
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
mt_expected % [mt_path, prelude_framework.join("; "), PATH]
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def util_exp_cmd
|
|
25
|
+
@tester.make_test_cmd.sub(/ -- .+/, " -- ")
|
|
26
|
+
end
|
|
16
27
|
|
|
17
28
|
def test_make_test_cmd_for_minitest
|
|
18
29
|
skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"]
|
|
@@ -25,7 +36,7 @@ class TestHoeTest < Minitest::Test
|
|
|
25
36
|
t.test_globs = [PATH]
|
|
26
37
|
end
|
|
27
38
|
|
|
28
|
-
assert_equal
|
|
39
|
+
assert_equal util_cmd_string(framework), util_exp_cmd
|
|
29
40
|
end
|
|
30
41
|
|
|
31
42
|
def test_make_test_cmd_for_minitest_prelude
|
|
@@ -41,6 +52,6 @@ class TestHoeTest < Minitest::Test
|
|
|
41
52
|
t.test_globs = [PATH]
|
|
42
53
|
end
|
|
43
54
|
|
|
44
|
-
assert_equal
|
|
55
|
+
assert_equal util_cmd_string(prelude, framework), util_exp_cmd
|
|
45
56
|
end
|
|
46
57
|
end
|
|
@@ -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
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
)��7cn(���h˛��AK��q��SN�;R���1�nG
|
|
2
|
+
� ���`LA������J��STfn���D�5�9>�� ��i�hٚ�hx�GmI+j���F�����ac&E�m4��ja^�P�ƾ�N��t��-��o��V��zf����;8lـA�=A�n��ܜ}��[��[��%�Qk�3}�#o�Jăæ�,�qa`�5w��UP;[Q٪�7��|KZM�k�8�P�dM
|
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.5
|
|
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: '
|
|
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: '
|
|
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,51 +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
|
|
194
|
+
- lib/minitest/compress.rb
|
|
195
|
+
- lib/minitest/error_on_warning.rb
|
|
142
196
|
- lib/minitest/expectations.rb
|
|
197
|
+
- lib/minitest/find_minimal_combination.rb
|
|
143
198
|
- lib/minitest/hell.rb
|
|
144
|
-
- lib/minitest/
|
|
199
|
+
- lib/minitest/manual_plugins.rb
|
|
145
200
|
- lib/minitest/parallel.rb
|
|
201
|
+
- lib/minitest/path_expander.rb
|
|
146
202
|
- lib/minitest/pride.rb
|
|
147
203
|
- lib/minitest/pride_plugin.rb
|
|
204
|
+
- lib/minitest/server.rb
|
|
205
|
+
- lib/minitest/server_plugin.rb
|
|
148
206
|
- lib/minitest/spec.rb
|
|
207
|
+
- lib/minitest/sprint.rb
|
|
208
|
+
- lib/minitest/sprint_plugin.rb
|
|
149
209
|
- lib/minitest/test.rb
|
|
150
210
|
- lib/minitest/test_task.rb
|
|
151
|
-
- lib/minitest/unit.rb
|
|
152
211
|
- test/minitest/metametameta.rb
|
|
212
|
+
- test/minitest/test_bisect.rb
|
|
213
|
+
- test/minitest/test_find_minimal_combination.rb
|
|
153
214
|
- test/minitest/test_minitest_assertions.rb
|
|
154
215
|
- test/minitest/test_minitest_benchmark.rb
|
|
155
|
-
- test/minitest/test_minitest_mock.rb
|
|
156
216
|
- test/minitest/test_minitest_reporter.rb
|
|
157
217
|
- test/minitest/test_minitest_spec.rb
|
|
158
218
|
- test/minitest/test_minitest_test.rb
|
|
159
219
|
- test/minitest/test_minitest_test_task.rb
|
|
160
|
-
|
|
220
|
+
- test/minitest/test_path_expander.rb
|
|
221
|
+
- test/minitest/test_server.rb
|
|
222
|
+
homepage: https://minite.st/
|
|
161
223
|
licenses:
|
|
162
224
|
- MIT
|
|
163
225
|
metadata:
|
|
164
|
-
homepage_uri: https://
|
|
165
|
-
|
|
166
|
-
|
|
226
|
+
homepage_uri: https://minite.st/
|
|
227
|
+
source_code_uri: https://github.com/minitest/minitest
|
|
228
|
+
bug_tracker_uri: https://github.com/minitest/minitest/issues
|
|
229
|
+
documentation_uri: https://docs.seattlerb.org/minitest
|
|
230
|
+
changelog_uri: https://github.com/minitest/minitest/blob/master/History.rdoc
|
|
167
231
|
rdoc_options:
|
|
168
232
|
- "--main"
|
|
169
233
|
- README.rdoc
|
|
@@ -173,19 +237,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
173
237
|
requirements:
|
|
174
238
|
- - ">="
|
|
175
239
|
- !ruby/object:Gem::Version
|
|
176
|
-
version: '2
|
|
177
|
-
- - "<"
|
|
178
|
-
- !ruby/object:Gem::Version
|
|
179
|
-
version: '4.0'
|
|
240
|
+
version: '3.2'
|
|
180
241
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
242
|
requirements:
|
|
182
243
|
- - ">="
|
|
183
244
|
- !ruby/object:Gem::Version
|
|
184
245
|
version: '0'
|
|
185
246
|
requirements: []
|
|
186
|
-
rubygems_version: 3.
|
|
187
|
-
signing_key:
|
|
247
|
+
rubygems_version: 3.7.2
|
|
188
248
|
specification_version: 4
|
|
189
249
|
summary: minitest provides a complete suite of testing facilities supporting TDD,
|
|
190
|
-
BDD,
|
|
250
|
+
BDD, and benchmarking
|
|
191
251
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|