minitest 5.18.1 → 5.20.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +17 -0
- data/lib/minitest/test.rb +2 -2
- data/lib/minitest/test_task.rb +4 -7
- data/lib/minitest.rb +31 -2
- data/test/minitest/test_minitest_reporter.rb +29 -0
- data/test/minitest/test_minitest_test.rb +12 -2
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 667a803a272949e7b05440f91a56155ea3977a5b9d364542801889c5a2fe0ff0
|
|
4
|
+
data.tar.gz: 862bf0ff3d24eea4bbe6c7f435ceef19aaa97748f6a87ec3fa51dc218ca79298
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2284c84ae5f98a3454e9a95417e609ca1a8ef9af8ee8b1fad8f2aca2632fde6a309e266ef1d399d9a7d47337cdcba696500a1b36f1fa7d952615eb390a89e329
|
|
7
|
+
data.tar.gz: a76204f74c2caf693a4302065815b871863ae655372d25fc4d41e416b0d4935704c1e1068457b5cda934312e3915ae8a27595ca962c98e544dd45b54cac2aef7
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/History.rdoc
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
=== 5.20.0 / 2023-09-06
|
|
2
|
+
|
|
3
|
+
* 1 minor enhancement:
|
|
4
|
+
|
|
5
|
+
* Optionally allow autorun exit hook to remain active in forked child. (casperisfine)
|
|
6
|
+
|
|
7
|
+
=== 5.19.0 / 2023-07-26
|
|
8
|
+
|
|
9
|
+
* 2 minor enhancements:
|
|
10
|
+
|
|
11
|
+
* Add metadata lazy accessor to Runnable / Result. (matteeyah)
|
|
12
|
+
* Only load minitest/unit (aka ancient MiniTest compatibility layer) if ENV["MT_COMPAT"]
|
|
13
|
+
|
|
14
|
+
* 1 bug fix:
|
|
15
|
+
|
|
16
|
+
* Minitest::TestTask enthusiastically added itself to default. (ParadoxV5)
|
|
17
|
+
|
|
1
18
|
=== 5.18.1 / 2023-06-16
|
|
2
19
|
|
|
3
20
|
* 3 bug fixes:
|
data/lib/minitest/test.rb
CHANGED
|
@@ -141,7 +141,7 @@ module Minitest
|
|
|
141
141
|
# end
|
|
142
142
|
# end
|
|
143
143
|
#
|
|
144
|
-
# class
|
|
144
|
+
# class Minitest::Test
|
|
145
145
|
# include MyMinitestPlugin
|
|
146
146
|
# end
|
|
147
147
|
|
|
@@ -245,4 +245,4 @@ module Minitest
|
|
|
245
245
|
end # Test
|
|
246
246
|
end
|
|
247
247
|
|
|
248
|
-
require "minitest/unit"
|
|
248
|
+
require "minitest/unit" if ENV["MT_COMPAT"] # compatibility layer only
|
data/lib/minitest/test_task.rb
CHANGED
|
@@ -29,6 +29,10 @@ module Minitest # :nodoc:
|
|
|
29
29
|
# end
|
|
30
30
|
#
|
|
31
31
|
# Customize the name and only run unit tests.
|
|
32
|
+
#
|
|
33
|
+
# NOTE: To hook this task up to the default, make it a dependency:
|
|
34
|
+
#
|
|
35
|
+
# task default: :unit
|
|
32
36
|
|
|
33
37
|
class TestTask < Rake::TaskLib
|
|
34
38
|
WINDOWS = RbConfig::CONFIG["host_os"] =~ /mswin|mingw/ # :nodoc:
|
|
@@ -157,8 +161,6 @@ module Minitest # :nodoc:
|
|
|
157
161
|
end
|
|
158
162
|
|
|
159
163
|
def define # :nodoc:
|
|
160
|
-
default_tasks = []
|
|
161
|
-
|
|
162
164
|
desc "Run the test suite. Use N, X, A, and TESTOPTS to add flags/args."
|
|
163
165
|
task name do
|
|
164
166
|
ruby make_test_cmd, verbose:verbose
|
|
@@ -243,11 +245,6 @@ module Minitest # :nodoc:
|
|
|
243
245
|
"sort -n -k2 -t=",
|
|
244
246
|
"tail -25"].join " | "
|
|
245
247
|
end
|
|
246
|
-
|
|
247
|
-
default_tasks << name
|
|
248
|
-
|
|
249
|
-
desc "Run the default task(s)."
|
|
250
|
-
task :default => default_tasks
|
|
251
248
|
end
|
|
252
249
|
|
|
253
250
|
##
|
data/lib/minitest.rb
CHANGED
|
@@ -9,7 +9,7 @@ require "etc"
|
|
|
9
9
|
# :include: README.rdoc
|
|
10
10
|
|
|
11
11
|
module Minitest
|
|
12
|
-
VERSION = "5.
|
|
12
|
+
VERSION = "5.20.0" # :nodoc:
|
|
13
13
|
|
|
14
14
|
@@installed_at_exit ||= false
|
|
15
15
|
@@after_run = []
|
|
@@ -60,6 +60,9 @@ module Minitest
|
|
|
60
60
|
cattr_accessor :info_signal
|
|
61
61
|
self.info_signal = "INFO"
|
|
62
62
|
|
|
63
|
+
cattr_accessor :allow_fork
|
|
64
|
+
self.allow_fork = false
|
|
65
|
+
|
|
63
66
|
##
|
|
64
67
|
# Registers Minitest to run at process exit
|
|
65
68
|
|
|
@@ -75,7 +78,7 @@ module Minitest
|
|
|
75
78
|
|
|
76
79
|
pid = Process.pid
|
|
77
80
|
at_exit {
|
|
78
|
-
next if Process.pid != pid
|
|
81
|
+
next if !Minitest.allow_fork && Process.pid != pid
|
|
79
82
|
@@after_run.reverse_each(&:call)
|
|
80
83
|
exit exit_code || false
|
|
81
84
|
}
|
|
@@ -446,6 +449,31 @@ module Minitest
|
|
|
446
449
|
self.name = name
|
|
447
450
|
self.failures = []
|
|
448
451
|
self.assertions = 0
|
|
452
|
+
# lazy initializer for metadata
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
##
|
|
456
|
+
# Metadata you attach to the test results that get sent to the reporter.
|
|
457
|
+
#
|
|
458
|
+
# Lazily initializes to a hash, to keep memory down.
|
|
459
|
+
#
|
|
460
|
+
# NOTE: this data *must* be plain (read: marshal-able) data!
|
|
461
|
+
# Hashes! Arrays! Strings!
|
|
462
|
+
|
|
463
|
+
def metadata
|
|
464
|
+
@metadata ||= {}
|
|
465
|
+
end
|
|
466
|
+
|
|
467
|
+
##
|
|
468
|
+
# Sets metadata, mainly used for +Result.from+.
|
|
469
|
+
|
|
470
|
+
attr_writer :metadata
|
|
471
|
+
|
|
472
|
+
##
|
|
473
|
+
# Returns true if metadata exists.
|
|
474
|
+
|
|
475
|
+
def metadata?
|
|
476
|
+
defined? @metadata
|
|
449
477
|
end
|
|
450
478
|
|
|
451
479
|
##
|
|
@@ -566,6 +594,7 @@ module Minitest
|
|
|
566
594
|
r.assertions = o.assertions
|
|
567
595
|
r.failures = o.failures.dup
|
|
568
596
|
r.time = o.time
|
|
597
|
+
r.metadata = o.metadata if o.metadata?
|
|
569
598
|
|
|
570
599
|
r.source_location = o.method(o.name).source_location rescue ["unknown", -1]
|
|
571
600
|
|
|
@@ -65,6 +65,12 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
|
65
65
|
@pt ||= Minitest::Result.from Minitest::Test.new(:woot)
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
+
def passing_test_with_metadata
|
|
69
|
+
test = Minitest::Test.new(:woot)
|
|
70
|
+
test.metadata[:meta] = :data
|
|
71
|
+
@pt ||= Minitest::Result.from test
|
|
72
|
+
end
|
|
73
|
+
|
|
68
74
|
def skip_test
|
|
69
75
|
unless defined? @st then
|
|
70
76
|
@st = Minitest::Test.new(:woot)
|
|
@@ -166,6 +172,29 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
|
166
172
|
assert_equal 0, r.assertions
|
|
167
173
|
end
|
|
168
174
|
|
|
175
|
+
def test_record_pass_with_metadata
|
|
176
|
+
reporter = self.r
|
|
177
|
+
|
|
178
|
+
def reporter.metadata
|
|
179
|
+
@metadata
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
def reporter.record result
|
|
183
|
+
super
|
|
184
|
+
@metadata = result.metadata if result.metadata?
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
r.record passing_test_with_metadata
|
|
188
|
+
|
|
189
|
+
exp = { :meta => :data }
|
|
190
|
+
assert_equal exp, reporter.metadata
|
|
191
|
+
|
|
192
|
+
assert_equal ".", io.string
|
|
193
|
+
assert_empty r.results
|
|
194
|
+
assert_equal 1, r.count
|
|
195
|
+
assert_equal 0, r.assertions
|
|
196
|
+
end
|
|
197
|
+
|
|
169
198
|
def test_record_fail
|
|
170
199
|
fail_test = self.fail_test
|
|
171
200
|
r.record fail_test
|
|
@@ -1089,17 +1089,27 @@ class TestMinitestUnitTestCase < Minitest::Test
|
|
|
1089
1089
|
|
|
1090
1090
|
def test_autorun_does_not_affect_fork_success_status
|
|
1091
1091
|
@assertion_count = 0
|
|
1092
|
-
skip "windows doesn't have
|
|
1092
|
+
skip "windows doesn't have fork" unless Process.respond_to?(:fork)
|
|
1093
1093
|
Process.waitpid(fork {})
|
|
1094
1094
|
assert_equal true, $?.success?
|
|
1095
1095
|
end
|
|
1096
1096
|
|
|
1097
1097
|
def test_autorun_does_not_affect_fork_exit_status
|
|
1098
1098
|
@assertion_count = 0
|
|
1099
|
-
skip "windows doesn't have
|
|
1099
|
+
skip "windows doesn't have fork" unless Process.respond_to?(:fork)
|
|
1100
1100
|
Process.waitpid(fork { exit 42 })
|
|
1101
1101
|
assert_equal 42, $?.exitstatus
|
|
1102
1102
|
end
|
|
1103
|
+
|
|
1104
|
+
def test_autorun_optionally_can_affect_fork_exit_status
|
|
1105
|
+
@assertion_count = 0
|
|
1106
|
+
skip "windows doesn't have fork" unless Process.respond_to?(:fork)
|
|
1107
|
+
Minitest.allow_fork = true
|
|
1108
|
+
Process.waitpid(fork { exit 42 })
|
|
1109
|
+
refute_equal 42, $?.exitstatus
|
|
1110
|
+
ensure
|
|
1111
|
+
Minitest.allow_fork = false
|
|
1112
|
+
end
|
|
1103
1113
|
end
|
|
1104
1114
|
|
|
1105
1115
|
class TestMinitestGuard < Minitest::Test
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: minitest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.20.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Davis
|
|
@@ -29,7 +29,7 @@ cert_chain:
|
|
|
29
29
|
ROfWo9Uyp8ba/j9eVG14KkYRaLydAY1MNQk2yd3R5CGfeOpD1kttxjoypoUJ2dOG
|
|
30
30
|
nsNBRuQJ1UfiCG97a6DNm+Fr
|
|
31
31
|
-----END CERTIFICATE-----
|
|
32
|
-
date: 2023-06
|
|
32
|
+
date: 2023-09-06 00:00:00.000000000 Z
|
|
33
33
|
dependencies:
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
35
|
name: rdoc
|
metadata.gz.sig
CHANGED
|
Binary file
|