minitest 5.22.2 → 5.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +12 -0
- data/Manifest.txt +2 -0
- data/README.rdoc +15 -13
- data/Rakefile +6 -0
- data/lib/minitest/error_on_warning.rb +11 -0
- data/lib/minitest/manual_plugins.rb +16 -0
- data/lib/minitest/pride_plugin.rb +7 -10
- data/lib/minitest/test.rb +4 -3
- data/lib/minitest/test_task.rb +1 -1
- data/lib/minitest.rb +36 -4
- data/test/minitest/metametameta.rb +19 -5
- data/test/minitest/test_minitest_assertions.rb +26 -23
- data/test/minitest/test_minitest_mock.rb +15 -13
- data/test/minitest/test_minitest_reporter.rb +13 -13
- data/test/minitest/test_minitest_spec.rb +19 -17
- data/test/minitest/test_minitest_test.rb +21 -21
- data/test/minitest/test_minitest_test_task.rb +2 -0
- data.tar.gz.sig +0 -0
- metadata +4 -2
- metadata.gz.sig +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 504b1223be3a95fcfafe10a397384628113ff8514e0674ade01f3db968e7c1ae
|
4
|
+
data.tar.gz: 59e22fefd004b545f6084c5c91561502325add44200cc77203dbec3334746cd0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f387dcac2c6072f79ff1cb43f407bbb65f2f950785f27ec1b4a803f4ddc0200e5dd05bce956fe8d98ec10a7723c451b5e92b44b1356126657adf429ed616f59
|
7
|
+
data.tar.gz: 115fa22f9991580fa4b4e98eb31c10d2b775b5de731a66e6d61f50ec14c51ac87ee25c5c038e75e5889b4845fa546bd5c5d73b8ddf1abc88322dcf5cedbce328
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 5.22.3 / 2024-03-13
|
2
|
+
|
3
|
+
* 1 minor enhancement:
|
4
|
+
|
5
|
+
* MASSIVE improvement of minitest's pride plugin output: Frequencies doubled! Sine waves shifted!! Comments improved!!! Colors rotated!!!! (havenwood)
|
6
|
+
|
7
|
+
* 3 bug fixes:
|
8
|
+
|
9
|
+
* Improved wording on Minitest::Test#parallelize_me! to clarify it goes INSIDE your test class/describe.
|
10
|
+
* Minor changes to tests to pass when tests ran with extra flags (eg -p).
|
11
|
+
* Support Ruby 3.4's new error message format. (mame)
|
12
|
+
|
1
13
|
=== 5.22.2 / 2024-02-07
|
2
14
|
|
3
15
|
* 1 bug fix:
|
data/Manifest.txt
CHANGED
@@ -10,8 +10,10 @@ lib/minitest/assertions.rb
|
|
10
10
|
lib/minitest/autorun.rb
|
11
11
|
lib/minitest/benchmark.rb
|
12
12
|
lib/minitest/compress.rb
|
13
|
+
lib/minitest/error_on_warning.rb
|
13
14
|
lib/minitest/expectations.rb
|
14
15
|
lib/minitest/hell.rb
|
16
|
+
lib/minitest/manual_plugins.rb
|
15
17
|
lib/minitest/mock.rb
|
16
18
|
lib/minitest/parallel.rb
|
17
19
|
lib/minitest/pride.rb
|
data/README.rdoc
CHANGED
@@ -406,22 +406,23 @@ Using our example above, here is how we might implement MyCI:
|
|
406
406
|
|
407
407
|
=== What versions are compatible with what? Or what versions are supported?
|
408
408
|
|
409
|
-
Minitest is a dependency of rails, which until
|
409
|
+
Minitest is a dependency of rails, which until very recently had an
|
410
410
|
overzealous backwards compatibility policy. As such, I'm stuck
|
411
411
|
supporting versions of ruby that are long past EOL. Hopefully I'll be
|
412
412
|
able to support only current versions of ruby sometime in the near
|
413
413
|
future.
|
414
414
|
|
415
|
-
(As of
|
415
|
+
(As of 2024-05-10)
|
416
416
|
|
417
417
|
Current versions of rails: (https://endoflife.date/rails)
|
418
418
|
|
419
|
-
| rails | min ruby |
|
420
|
-
|
421
|
-
| 7.
|
422
|
-
|
|
423
|
-
| 6.
|
424
|
-
|
|
419
|
+
| rails | min ruby | minitest | status | EOL Date |
|
420
|
+
|-------+----------+----------+----------+------------|
|
421
|
+
| 7.1 | >= 2.7 | >= 5.1 | Current | 2026-06-01?|
|
422
|
+
| 7.0 | >= 2.7 | >= 5.1 | Maint | 2025-06-01?|
|
423
|
+
| 6.1 | >= 2.5 | >= 5.1 | Security | 2024-06-01?|
|
424
|
+
| 6.0 | >= 2.5 | >= 5.1 | EOL | 2023-06-01 |
|
425
|
+
| 5.2 | >= 2.2.2 | ~> 5.1 | EOL | 2022-06-01 |
|
425
426
|
|
426
427
|
If you want to look at the requirements for a specific version, run:
|
427
428
|
|
@@ -431,12 +432,13 @@ Current versions of ruby: (https://endoflife.date/ruby)
|
|
431
432
|
|
432
433
|
| ruby | Status | EOL Date |
|
433
434
|
|------+---------+------------|
|
434
|
-
| 3.
|
435
|
-
| 3.
|
436
|
-
| 3.
|
437
|
-
|
|
435
|
+
| 3.3 | Current | 2027-03-31 |
|
436
|
+
| 3.2 | Maint | 2026-03-31 |
|
437
|
+
| 3.1 | Security| 2025-03-31 |
|
438
|
+
| 3.0 | EOL | 2024-03-31 |
|
439
|
+
| 2.7 | EOL | 2023-03-31 |
|
438
440
|
| 2.6 | EOL | 2022-03-31 |
|
439
|
-
| 2.5 | EOL | 2021-03-31 |
|
441
|
+
| 2.5 | EOL | 2021-03-31 | DO YOU SEE WHAT I'M STUCK WITH???
|
440
442
|
|
441
443
|
=== How to test SimpleDelegates?
|
442
444
|
|
data/Rakefile
CHANGED
@@ -33,6 +33,7 @@ task :specs do
|
|
33
33
|
/_includes/ => "_include",
|
34
34
|
/(must|wont)_(.*_of|nil|silent|empty)/ => '\1_be_\2',
|
35
35
|
/must_raises/ => "must_raise",
|
36
|
+
/(must|wont)_pattern/ => '\1_pattern_match',
|
36
37
|
/(must|wont)_predicate/ => '\1_be',
|
37
38
|
/(must|wont)_path_exists/ => 'path_\1_exist',
|
38
39
|
}
|
@@ -72,4 +73,9 @@ task :bugs do
|
|
72
73
|
sh "for f in bug*.rb ; do echo $f; echo; #{Gem.ruby} -Ilib $f && rm $f ; done"
|
73
74
|
end
|
74
75
|
|
76
|
+
Minitest::TestTask.create :testW0 do |t|
|
77
|
+
t.warning = false
|
78
|
+
t.test_prelude = "$-w = nil"
|
79
|
+
end
|
80
|
+
|
75
81
|
# vim: syntax=Ruby
|
@@ -113,19 +113,16 @@ module Minitest
|
|
113
113
|
#
|
114
114
|
# plot (3*sin(x)+3), (3*sin(x+2*pi/3)+3), (3*sin(x+4*pi/3)+3)
|
115
115
|
|
116
|
-
|
117
|
-
|
118
|
-
n *= 1.0 / 6
|
116
|
+
@colors = (6 * 7).times.map { |n|
|
117
|
+
n *= 1.0 / 3
|
119
118
|
r = (3 * Math.sin(n ) + 3).to_i
|
120
|
-
g = (3 * Math.sin(n +
|
121
|
-
b = (3 * Math.sin(n +
|
122
|
-
|
123
|
-
# Then we take rgb and encode them in a single number using base 6.
|
124
|
-
# For some mysterious reason, we add 16... to clear the bottom 4 bits?
|
125
|
-
# Yes... they're ugly.
|
119
|
+
g = (3 * Math.sin(n + 4 * PI_3) + 3).to_i
|
120
|
+
b = (3 * Math.sin(n + 2 * PI_3) + 3).to_i
|
126
121
|
|
122
|
+
# Then we take rgb and encode them in a single number using
|
123
|
+
# base 6, shifted by 16 for the base 16 ansi colors.
|
127
124
|
36 * r + 6 * g + b + 16
|
128
|
-
}
|
125
|
+
}.rotate(4) # puts "red" first
|
129
126
|
|
130
127
|
super
|
131
128
|
end
|
data/lib/minitest/test.rb
CHANGED
@@ -52,9 +52,10 @@ module Minitest
|
|
52
52
|
end
|
53
53
|
|
54
54
|
##
|
55
|
-
# Call this at the top of your tests
|
56
|
-
#
|
57
|
-
#
|
55
|
+
# Call this at the top of your tests (inside the +Minitest::Test+
|
56
|
+
# subclass or +describe+ block) when you want to run your tests in
|
57
|
+
# parallel. In doing so, you're admitting that you rule and your
|
58
|
+
# tests are awesome.
|
58
59
|
|
59
60
|
def self.parallelize_me!
|
60
61
|
include Minitest::Parallel::Test
|
data/lib/minitest/test_task.rb
CHANGED
@@ -114,7 +114,7 @@ module Minitest # :nodoc:
|
|
114
114
|
self.test_globs = ["test/**/test_*.rb",
|
115
115
|
"test/**/*_test.rb"]
|
116
116
|
self.test_prelude = nil
|
117
|
-
self.verbose = Rake.application.options.trace
|
117
|
+
self.verbose = Rake.application.options.trace || Rake.verbose == true
|
118
118
|
self.warning = true
|
119
119
|
end
|
120
120
|
|
data/lib/minitest.rb
CHANGED
@@ -9,7 +9,7 @@ require_relative "minitest/compress"
|
|
9
9
|
# :include: README.rdoc
|
10
10
|
|
11
11
|
module Minitest
|
12
|
-
VERSION = "5.22.
|
12
|
+
VERSION = "5.22.3" # :nodoc:
|
13
13
|
|
14
14
|
@@installed_at_exit ||= false
|
15
15
|
@@after_run = []
|
@@ -167,10 +167,10 @@ module Minitest
|
|
167
167
|
|
168
168
|
# might have been removed/replaced during init_plugins:
|
169
169
|
summary = reporter.reporters.grep(SummaryReporter).first
|
170
|
-
return empty_run! options if summary && summary.count == 0
|
171
170
|
|
172
171
|
reporter.report
|
173
172
|
|
173
|
+
return empty_run! options if summary && summary.count == 0
|
174
174
|
reporter.passed?
|
175
175
|
end
|
176
176
|
|
@@ -253,6 +253,20 @@ module Minitest
|
|
253
253
|
options[:skip] = s.chars.to_a
|
254
254
|
end
|
255
255
|
|
256
|
+
ruby27plus = ::Warning.respond_to?(:[]=)
|
257
|
+
|
258
|
+
opts.on "-W[error]", String, "Turn Ruby warnings into errors" do |s|
|
259
|
+
options[:Werror] = true
|
260
|
+
case s
|
261
|
+
when "error", "all", nil then
|
262
|
+
require "minitest/error_on_warning"
|
263
|
+
$VERBOSE = true
|
264
|
+
::Warning[:deprecated] = true if ruby27plus
|
265
|
+
else
|
266
|
+
::Warning[s.to_sym] = true if ruby27plus # check validity of category
|
267
|
+
end
|
268
|
+
end
|
269
|
+
|
256
270
|
unless extensions.empty?
|
257
271
|
opts.separator ""
|
258
272
|
opts.separator "Known extensions: #{extensions.join(", ")}"
|
@@ -782,6 +796,11 @@ module Minitest
|
|
782
796
|
|
783
797
|
attr_accessor :errors
|
784
798
|
|
799
|
+
##
|
800
|
+
# Total number of tests that warned.
|
801
|
+
|
802
|
+
attr_accessor :warnings
|
803
|
+
|
785
804
|
##
|
786
805
|
# Total number of tests that where skipped.
|
787
806
|
|
@@ -797,6 +816,7 @@ module Minitest
|
|
797
816
|
self.total_time = nil
|
798
817
|
self.failures = nil
|
799
818
|
self.errors = nil
|
819
|
+
self.warnings = nil
|
800
820
|
self.skips = nil
|
801
821
|
end
|
802
822
|
|
@@ -825,6 +845,7 @@ module Minitest
|
|
825
845
|
self.total_time = Minitest.clock_time - start_time
|
826
846
|
self.failures = aggregate[Assertion].size
|
827
847
|
self.errors = aggregate[UnexpectedError].size
|
848
|
+
self.warnings = aggregate[UnexpectedWarning].size
|
828
849
|
self.skips = aggregate[Skip].size
|
829
850
|
end
|
830
851
|
end
|
@@ -900,6 +921,8 @@ module Minitest
|
|
900
921
|
results.any?(&:skipped?) unless
|
901
922
|
options[:verbose] or options[:show_skips] or ENV["MT_NO_SKIP_MSG"]
|
902
923
|
|
924
|
+
extra.prepend ", %d warnings" % [warnings] if options[:Werror]
|
925
|
+
|
903
926
|
"%d runs, %d assertions, %d failures, %d errors, %d skips%s" %
|
904
927
|
[count, assertions, failures, errors, skips, extra]
|
905
928
|
end
|
@@ -960,7 +983,7 @@ module Minitest
|
|
960
983
|
# Represents run failures.
|
961
984
|
|
962
985
|
class Assertion < Exception
|
963
|
-
RE = /in
|
986
|
+
RE = /in [`'](?:[^']+[#.])?(?:assert|refute|flunk|pass|fail|raise|must|wont)/ # :nodoc:
|
964
987
|
|
965
988
|
def error # :nodoc:
|
966
989
|
self
|
@@ -1034,6 +1057,15 @@ module Minitest
|
|
1034
1057
|
end
|
1035
1058
|
end
|
1036
1059
|
|
1060
|
+
##
|
1061
|
+
# Assertion raised on warning when running in -Werror mode.
|
1062
|
+
|
1063
|
+
class UnexpectedWarning < Assertion
|
1064
|
+
def result_label # :nodoc:
|
1065
|
+
"Warning"
|
1066
|
+
end
|
1067
|
+
end
|
1068
|
+
|
1037
1069
|
##
|
1038
1070
|
# Provides a simple set of guards that you can use in your tests
|
1039
1071
|
# to skip execution if it is not applicable. These methods are
|
@@ -1107,7 +1139,7 @@ module Minitest
|
|
1107
1139
|
|
1108
1140
|
class BacktraceFilter
|
1109
1141
|
|
1110
|
-
MT_RE = %r%lib/minitest% #:nodoc:
|
1142
|
+
MT_RE = %r%lib/minitest|internal:warning% #:nodoc:
|
1111
1143
|
|
1112
1144
|
attr_accessor :regexp
|
1113
1145
|
|
@@ -25,8 +25,19 @@ class Minitest::Test
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
28
|
-
end
|
29
28
|
|
29
|
+
def error_on_warn?
|
30
|
+
defined?(Minitest::ErrorOnWarning)
|
31
|
+
end
|
32
|
+
|
33
|
+
def assert_deprecation re = /DEPRECATED/
|
34
|
+
assert_output "", re do
|
35
|
+
yield
|
36
|
+
end
|
37
|
+
rescue Minitest::UnexpectedWarning => e # raised if -Werror was used
|
38
|
+
assert_match re, e.message
|
39
|
+
end
|
40
|
+
end
|
30
41
|
|
31
42
|
class FakeNamedTest < Minitest::Test
|
32
43
|
@@count = 0
|
@@ -56,7 +67,7 @@ class MetaMetaMetaTestCase < Minitest::Test
|
|
56
67
|
def run_tu_with_fresh_reporter flags = %w[--seed 42]
|
57
68
|
options = Minitest.process_args flags
|
58
69
|
|
59
|
-
@output = StringIO.new("".encode(
|
70
|
+
@output = StringIO.new("".encode(Encoding::UTF_8))
|
60
71
|
|
61
72
|
self.reporter = Minitest::CompositeReporter.new
|
62
73
|
reporter << Minitest::SummaryReporter.new(@output, options)
|
@@ -110,12 +121,15 @@ class MetaMetaMetaTestCase < Minitest::Test
|
|
110
121
|
|
111
122
|
if windows? then
|
112
123
|
output.gsub!(/\[(?:[A-Za-z]:)?[^\]:]+:\d+\]/, "[FILE:LINE]")
|
113
|
-
output.gsub!(/^(\s+)(?:[A-Za-z]:)?[^:]+:\d+:in/, '\1FILE:LINE:in')
|
124
|
+
output.gsub!(/^(\s+)(?:[A-Za-z]:)?[^:]+:\d+:in [`']/, '\1FILE:LINE:in \'')
|
114
125
|
else
|
115
|
-
output.gsub!(/\[([^\]:]+):\d+\]/)
|
116
|
-
output.gsub!(/^(\s+)([^:]+):\d+:in/) { "#{$1}#{file[$2]}:LINE:in" }
|
126
|
+
output.gsub!(/\[([^\]:]+):\d+\]/) { "[#{file[$1]}:LINE]" }
|
127
|
+
output.gsub!(/^(\s+)([^:]+):\d+:in [`']/) { "#{$1}#{file[$2]}:LINE:in '" }
|
117
128
|
end
|
118
129
|
|
130
|
+
output.gsub!(/in [`']block in (?:([^']+)[#.])?/, "in 'block in")
|
131
|
+
output.gsub!(/in [`'](?:([^']+)[#.])?/, "in '")
|
132
|
+
|
119
133
|
output.gsub!(/( at )[^:]+:\d+/) { "#{$1}[#{file[$2]}:LINE]" } # eval?
|
120
134
|
|
121
135
|
output
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
3
|
require "minitest/autorun"
|
4
|
+
require_relative "metametameta"
|
4
5
|
|
5
6
|
if defined? Encoding then
|
6
7
|
e = Encoding.default_external
|
@@ -33,7 +34,6 @@ class TestMinitestAssertions < Minitest::Test
|
|
33
34
|
|
34
35
|
class DummyTest
|
35
36
|
include Minitest::Assertions
|
36
|
-
# include Minitest::Reportable # TODO: why do I really need this?
|
37
37
|
|
38
38
|
attr_accessor :assertions, :failure
|
39
39
|
|
@@ -58,15 +58,6 @@ class TestMinitestAssertions < Minitest::Test
|
|
58
58
|
"expected #{@assertion_count} assertions to be fired during the test, not #{@tc.assertions}")
|
59
59
|
end
|
60
60
|
|
61
|
-
def assert_deprecated name
|
62
|
-
dep = /DEPRECATED: #{name}. From #{__FILE__}:\d+(?::.*)?/
|
63
|
-
dep = "" if $-w.nil?
|
64
|
-
|
65
|
-
assert_output nil, dep do
|
66
|
-
yield
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
61
|
def assert_triggered expected, klass = Minitest::Assertion
|
71
62
|
e = assert_raises klass do
|
72
63
|
yield
|
@@ -301,7 +292,7 @@ class TestMinitestAssertions < Minitest::Test
|
|
301
292
|
err_re = /Use assert_nil if expecting nil from .*test_minitest_\w+.rb/
|
302
293
|
err_re = "" if $-w.nil?
|
303
294
|
|
304
|
-
|
295
|
+
assert_deprecation err_re do
|
305
296
|
@tc.assert_equal nil, nil
|
306
297
|
end
|
307
298
|
end
|
@@ -379,7 +370,7 @@ class TestMinitestAssertions < Minitest::Test
|
|
379
370
|
EOM
|
380
371
|
|
381
372
|
assert_triggered msg do
|
382
|
-
x = "bad-utf8-\xF1.txt".force_encoding
|
373
|
+
x = "bad-utf8-\xF1.txt".dup.force_encoding Encoding::ASCII
|
383
374
|
y = x.dup.force_encoding "binary" # TODO: switch to .b when 1.9 dropped
|
384
375
|
@tc.assert_equal x, y
|
385
376
|
end
|
@@ -762,12 +753,13 @@ class TestMinitestAssertions < Minitest::Test
|
|
762
753
|
Class: <SomeError>
|
763
754
|
Message: <\"blah\">
|
764
755
|
---Backtrace---
|
765
|
-
FILE:LINE:in
|
756
|
+
FILE:LINE:in \'block in test_assert_raises_default_triggered\'
|
766
757
|
---------------
|
767
758
|
EOM
|
768
759
|
|
769
760
|
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
|
770
761
|
actual.gsub!(RE_LEVELS, "") unless jruby?
|
762
|
+
actual.gsub!(/[`']block in (?:TestMinitestAssertions#)?/, "'block in ")
|
771
763
|
|
772
764
|
assert_equal expected, actual
|
773
765
|
end
|
@@ -841,12 +833,13 @@ class TestMinitestAssertions < Minitest::Test
|
|
841
833
|
Class: <AnError>
|
842
834
|
Message: <\"some message\">
|
843
835
|
---Backtrace---
|
844
|
-
FILE:LINE:in
|
836
|
+
FILE:LINE:in \'block in test_assert_raises_subclass_triggered\'
|
845
837
|
---------------
|
846
838
|
EOM
|
847
839
|
|
848
840
|
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
|
849
841
|
actual.gsub!(RE_LEVELS, "") unless jruby?
|
842
|
+
actual.gsub!(/[`']block in (?:TestMinitestAssertions#)?/, "'block in ")
|
850
843
|
|
851
844
|
assert_equal expected.chomp, actual
|
852
845
|
end
|
@@ -863,12 +856,13 @@ class TestMinitestAssertions < Minitest::Test
|
|
863
856
|
Class: <SyntaxError>
|
864
857
|
Message: <\"icky\">
|
865
858
|
---Backtrace---
|
866
|
-
FILE:LINE:in
|
859
|
+
FILE:LINE:in \'block in test_assert_raises_triggered_different\'
|
867
860
|
---------------
|
868
861
|
EOM
|
869
862
|
|
870
863
|
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
|
871
864
|
actual.gsub!(RE_LEVELS, "") unless jruby?
|
865
|
+
actual.gsub!(/[`']block in (?:TestMinitestAssertions#)?/, "'block in ")
|
872
866
|
|
873
867
|
assert_equal expected, actual
|
874
868
|
end
|
@@ -886,12 +880,13 @@ class TestMinitestAssertions < Minitest::Test
|
|
886
880
|
Class: <SyntaxError>
|
887
881
|
Message: <\"icky\">
|
888
882
|
---Backtrace---
|
889
|
-
FILE:LINE:in
|
883
|
+
FILE:LINE:in \'block in test_assert_raises_triggered_different_msg\'
|
890
884
|
---------------
|
891
885
|
EOM
|
892
886
|
|
893
887
|
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
|
894
888
|
actual.gsub!(RE_LEVELS, "") unless jruby?
|
889
|
+
actual.gsub!(/[`']block in (?:TestMinitestAssertions#)?/, "'block in ")
|
895
890
|
|
896
891
|
assert_equal expected.chomp, actual
|
897
892
|
end
|
@@ -971,16 +966,24 @@ class TestMinitestAssertions < Minitest::Test
|
|
971
966
|
end
|
972
967
|
|
973
968
|
def test_assert_send
|
974
|
-
|
969
|
+
@assertion_count = 0 if error_on_warn?
|
970
|
+
assert_deprecation(/DEPRECATED: assert_send/) do
|
975
971
|
@tc.assert_send [1, :<, 2]
|
976
972
|
end
|
977
973
|
end
|
978
974
|
|
979
975
|
def test_assert_send_bad
|
980
|
-
|
981
|
-
|
976
|
+
if error_on_warn? then
|
977
|
+
@assertion_count = 0
|
978
|
+
assert_deprecation(/DEPRECATED: assert_send/) do
|
982
979
|
@tc.assert_send [1, :>, 2]
|
983
980
|
end
|
981
|
+
else
|
982
|
+
assert_triggered "Expected 1.>(*[2]) to return true." do
|
983
|
+
assert_deprecation(/DEPRECATED: assert_send/) do
|
984
|
+
@tc.assert_send [1, :>, 2]
|
985
|
+
end
|
986
|
+
end
|
984
987
|
end
|
985
988
|
end
|
986
989
|
|
@@ -1498,7 +1501,7 @@ class TestMinitestAssertions < Minitest::Test
|
|
1498
1501
|
d0 = Time.now
|
1499
1502
|
d1 = d0 + 86_400 # I am an idiot
|
1500
1503
|
|
1501
|
-
|
1504
|
+
assert_deprecation(/Stale skip_until \"not yet\" at .*?:\d+$/) do
|
1502
1505
|
assert_skip_until d0, "not yet"
|
1503
1506
|
end
|
1504
1507
|
|
@@ -1642,14 +1645,14 @@ class TestMinitestAssertionHelpers < Minitest::Test
|
|
1642
1645
|
end
|
1643
1646
|
|
1644
1647
|
def test_mu_pp_for_diff_str_bad_encoding
|
1645
|
-
str = "\666".force_encoding Encoding::UTF_8
|
1648
|
+
str = "\666".dup.force_encoding Encoding::UTF_8
|
1646
1649
|
exp = "# encoding: UTF-8\n# valid: false\n\"\\xB6\""
|
1647
1650
|
|
1648
1651
|
assert_mu_pp_for_diff exp, str, :raw
|
1649
1652
|
end
|
1650
1653
|
|
1651
1654
|
def test_mu_pp_for_diff_str_bad_encoding_both
|
1652
|
-
str = "\666A\\n\nB".force_encoding Encoding::UTF_8
|
1655
|
+
str = "\666A\\n\nB".dup.force_encoding Encoding::UTF_8
|
1653
1656
|
exp = "# encoding: UTF-8\n# valid: false\n\"\\xB6A\\\\n\\nB\""
|
1654
1657
|
|
1655
1658
|
assert_mu_pp_for_diff exp, str, :raw
|
@@ -1696,7 +1699,7 @@ class TestMinitestAssertionHelpers < Minitest::Test
|
|
1696
1699
|
end
|
1697
1700
|
|
1698
1701
|
def test_mu_pp_str_bad_encoding
|
1699
|
-
str = "\666".force_encoding Encoding::UTF_8
|
1702
|
+
str = "\666".dup.force_encoding Encoding::UTF_8
|
1700
1703
|
exp = "# encoding: UTF-8\n# valid: false\n\"\\xB6\""
|
1701
1704
|
|
1702
1705
|
assert_mu_pp exp, str, :raw
|
@@ -423,10 +423,12 @@ class TestMinitestMock < Minitest::Test
|
|
423
423
|
arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" }
|
424
424
|
mock = Minitest::Mock.new
|
425
425
|
|
426
|
-
|
426
|
+
assert_deprecation(/Using MT_KWARGS_HAC. yet passing kwargs/) do
|
427
427
|
mock.expect :foo, nil, [{}], k1: arg1, k2: arg2, k3: arg3
|
428
428
|
end
|
429
429
|
|
430
|
+
skip "-Werror" if error_on_warn? # mock above raised, so this is dead
|
431
|
+
|
430
432
|
mock.foo({}, k1: arg1, k2: arg2, k3: arg3)
|
431
433
|
|
432
434
|
assert_mock mock
|
@@ -686,7 +688,7 @@ class TestMinitestStub < Minitest::Test
|
|
686
688
|
end
|
687
689
|
|
688
690
|
def test_stub_yield_self
|
689
|
-
obj = "foo"
|
691
|
+
obj = +"foo"
|
690
692
|
|
691
693
|
val = obj.stub :to_s, "bar" do |s|
|
692
694
|
s.to_s
|
@@ -728,7 +730,7 @@ class TestMinitestStub < Minitest::Test
|
|
728
730
|
end
|
729
731
|
|
730
732
|
exp = jruby? ? /Undefined method nope_nope_nope for '#{self.class}::Time'/ :
|
731
|
-
/undefined method `nope_nope_nope' for( class)?
|
733
|
+
/undefined method [`']nope_nope_nope' for( class)? [`']#{self.class}::Time'/
|
732
734
|
assert_match exp, e.message
|
733
735
|
end
|
734
736
|
|
@@ -816,7 +818,7 @@ class TestMinitestStub < Minitest::Test
|
|
816
818
|
# [:value, :block_call, :args] => N/A
|
817
819
|
|
818
820
|
class Bar
|
819
|
-
def call
|
821
|
+
def call(&_) # to ignore unused block
|
820
822
|
puts "hi"
|
821
823
|
end
|
822
824
|
end
|
@@ -956,7 +958,7 @@ class TestMinitestStub < Minitest::Test
|
|
956
958
|
def test_stub_lambda_block_call_5
|
957
959
|
@assertion_count += 1
|
958
960
|
rs = nil
|
959
|
-
io = StringIO.new
|
961
|
+
io = StringIO.new(+"", "w")
|
960
962
|
File.stub5 :open, lambda { |p, m, &blk| blk and blk.call io } do
|
961
963
|
File.open "foo.txt", "r" do |f|
|
962
964
|
rs = f && f.write("woot")
|
@@ -971,7 +973,7 @@ class TestMinitestStub < Minitest::Test
|
|
971
973
|
|
972
974
|
@assertion_count += 1
|
973
975
|
rs = nil
|
974
|
-
io = StringIO.new
|
976
|
+
io = StringIO.new(+"", "w")
|
975
977
|
File.stub6 :open, lambda { |p, m, &blk| blk.call io } do
|
976
978
|
File.open "foo.txt", "r" do |f|
|
977
979
|
rs = f.write("woot")
|
@@ -984,7 +986,7 @@ class TestMinitestStub < Minitest::Test
|
|
984
986
|
def test_stub_lambda_block_call_args_5
|
985
987
|
@assertion_count += 1
|
986
988
|
rs = nil
|
987
|
-
io = StringIO.new
|
989
|
+
io = StringIO.new(+"", "w")
|
988
990
|
File.stub5(:open, lambda { |p, m, &blk| blk and blk.call io }, :WTF?) do
|
989
991
|
File.open "foo.txt", "r" do |f|
|
990
992
|
rs = f.write("woot")
|
@@ -999,7 +1001,7 @@ class TestMinitestStub < Minitest::Test
|
|
999
1001
|
|
1000
1002
|
@assertion_count += 1
|
1001
1003
|
rs = nil
|
1002
|
-
io = StringIO.new
|
1004
|
+
io = StringIO.new(+"", "w")
|
1003
1005
|
File.stub6(:open, lambda { |p, m, &blk| blk.call io }, :WTF?) do
|
1004
1006
|
File.open "foo.txt", "r" do |f|
|
1005
1007
|
rs = f.write("woot")
|
@@ -1014,7 +1016,7 @@ class TestMinitestStub < Minitest::Test
|
|
1014
1016
|
|
1015
1017
|
@assertion_count += 2
|
1016
1018
|
rs = nil
|
1017
|
-
io = StringIO.new
|
1019
|
+
io = StringIO.new(+"", "w")
|
1018
1020
|
@tc.assert_raises ArgumentError do
|
1019
1021
|
File.stub6_2(:open, lambda { |p, m, &blk| blk.call io }, :WTF?) do
|
1020
1022
|
File.open "foo.txt", "r" do |f|
|
@@ -1064,7 +1066,7 @@ class TestMinitestStub < Minitest::Test
|
|
1064
1066
|
def test_stub_value_block_args_5
|
1065
1067
|
@assertion_count += 2
|
1066
1068
|
rs = nil
|
1067
|
-
io = StringIO.new
|
1069
|
+
io = StringIO.new(+"", "w")
|
1068
1070
|
File.stub5 :open, :value, io do
|
1069
1071
|
result = File.open "foo.txt", "r" do |f|
|
1070
1072
|
rs = f.write("woot")
|
@@ -1083,7 +1085,7 @@ class TestMinitestStub < Minitest::Test
|
|
1083
1085
|
end
|
1084
1086
|
end
|
1085
1087
|
end
|
1086
|
-
exp = /undefined method `write' for nil/
|
1088
|
+
exp = /undefined method [`']write' for nil/
|
1087
1089
|
assert_match exp, e.message
|
1088
1090
|
end
|
1089
1091
|
|
@@ -1092,7 +1094,7 @@ class TestMinitestStub < Minitest::Test
|
|
1092
1094
|
|
1093
1095
|
@assertion_count += 2
|
1094
1096
|
rs = nil
|
1095
|
-
io = StringIO.new
|
1097
|
+
io = StringIO.new(+"", "w")
|
1096
1098
|
assert_deprecated do
|
1097
1099
|
File.stub6 :open, :value, io do
|
1098
1100
|
result = File.open "foo.txt", "r" do |f|
|
@@ -1110,7 +1112,7 @@ class TestMinitestStub < Minitest::Test
|
|
1110
1112
|
|
1111
1113
|
@assertion_count += 2
|
1112
1114
|
rs = nil
|
1113
|
-
io = StringIO.new
|
1115
|
+
io = StringIO.new(+"", "w")
|
1114
1116
|
@tc.assert_raises ArgumentError do
|
1115
1117
|
File.stub6_2 :open, :value, io do
|
1116
1118
|
result = File.open "foo.txt", "r" do |f|
|
@@ -31,7 +31,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
31
31
|
|
32
32
|
def setup
|
33
33
|
super
|
34
|
-
self.io = StringIO.new("")
|
34
|
+
self.io = StringIO.new(+"")
|
35
35
|
self.r = new_composite_reporter
|
36
36
|
end
|
37
37
|
|
@@ -324,8 +324,8 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
324
324
|
1) Error:
|
325
325
|
Minitest::Test#woot:
|
326
326
|
RuntimeError: no
|
327
|
-
FILE:LINE:in
|
328
|
-
FILE:LINE:in
|
327
|
+
FILE:LINE:in 'error_test'
|
328
|
+
FILE:LINE:in 'test_report_error'
|
329
329
|
|
330
330
|
1 runs, 0 assertions, 0 failures, 1 errors, 0 skips
|
331
331
|
EOM
|
@@ -397,7 +397,7 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
397
397
|
def test_report_failure_uses_backtrace_filter
|
398
398
|
filter = Minitest::BacktraceFilter.new
|
399
399
|
def filter.filter _bt
|
400
|
-
["foo.rb:123:in
|
400
|
+
["foo.rb:123:in 'foo'"]
|
401
401
|
end
|
402
402
|
|
403
403
|
with_backtrace_filter filter do
|
@@ -413,15 +413,15 @@ class TestMinitestReporter < MetaMetaMetaTestCase
|
|
413
413
|
|
414
414
|
def test_report_failure_uses_backtrace_filter_complex_sorbet
|
415
415
|
backtrace = <<~EOBT
|
416
|
-
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/assertions.rb:183:in
|
417
|
-
example_test.rb:9:in
|
418
|
-
/Users/user/.gem/ruby/3.2.2/gems/sorbet-runtime-0.5.11068/lib/types/private/methods/call_validation.rb:256:in
|
419
|
-
/Users/user/.gem/ruby/3.2.2/gems/sorbet-runtime-0.5.11068/lib/types/private/methods/call_validation.rb:256:in
|
420
|
-
/Users/user/.gem/ruby/3.2.2/gems/sorbet-runtime-0.5.11068/lib/types/private/methods/_methods.rb:275:in
|
421
|
-
example_test.rb:25:in
|
422
|
-
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/test.rb:94:in
|
423
|
-
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/test.rb:191:in
|
424
|
-
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/test.rb:89:in
|
416
|
+
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/assertions.rb:183:in 'assert'
|
417
|
+
example_test.rb:9:in 'assert_false'
|
418
|
+
/Users/user/.gem/ruby/3.2.2/gems/sorbet-runtime-0.5.11068/lib/types/private/methods/call_validation.rb:256:in 'bind_call'
|
419
|
+
/Users/user/.gem/ruby/3.2.2/gems/sorbet-runtime-0.5.11068/lib/types/private/methods/call_validation.rb:256:in 'validate_call'
|
420
|
+
/Users/user/.gem/ruby/3.2.2/gems/sorbet-runtime-0.5.11068/lib/types/private/methods/_methods.rb:275:in 'block in _on_method_added'
|
421
|
+
example_test.rb:25:in 'test_something'
|
422
|
+
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/test.rb:94:in 'block (3 levels) in run'
|
423
|
+
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/test.rb:191:in 'capture_exceptions'
|
424
|
+
/Users/user/.gem/ruby/3.2.2/gems/minitest-5.20.0/lib/minitest/test.rb:89:in 'block (2 levels) in run'
|
425
425
|
... so many lines ...
|
426
426
|
EOBT
|
427
427
|
|
@@ -284,18 +284,14 @@ describe Minitest::Spec do
|
|
284
284
|
end
|
285
285
|
|
286
286
|
it "needs to warn on equality with nil" do
|
287
|
-
@assertion_count
|
287
|
+
@assertion_count = 3
|
288
|
+
@assertion_count += 2 unless error_on_warn? # 2 extra assertions
|
289
|
+
|
290
|
+
exp = /DEPRECATED: Use assert_nil if expecting nil from .* This will fail in Minitest 6./
|
288
291
|
|
289
|
-
|
292
|
+
assert_deprecation exp do
|
290
293
|
assert_success _(nil).must_equal(nil)
|
291
294
|
end
|
292
|
-
|
293
|
-
exp = "DEPRECATED: Use assert_nil if expecting nil from #{__FILE__}:#{__LINE__-3}. " \
|
294
|
-
"This will fail in Minitest 6.\n"
|
295
|
-
exp = "" if $-w.nil?
|
296
|
-
|
297
|
-
assert_empty out
|
298
|
-
assert_equal exp, err
|
299
295
|
end
|
300
296
|
|
301
297
|
it "needs to verify floats outside a delta" do
|
@@ -576,7 +572,8 @@ describe Minitest::Spec do
|
|
576
572
|
|
577
573
|
it "can NOT use must_equal in a thread. It must use expect in a thread" do
|
578
574
|
skip "N/A" if ENV["MT_NO_EXPECTATIONS"]
|
579
|
-
|
575
|
+
|
576
|
+
assert_raises RuntimeError, Minitest::UnexpectedWarning do
|
580
577
|
capture_io do
|
581
578
|
Thread.new { (1 + 1).must_equal 2 }.join
|
582
579
|
end
|
@@ -586,9 +583,9 @@ describe Minitest::Spec do
|
|
586
583
|
it "fails gracefully when expectation used outside of `it`" do
|
587
584
|
skip "N/A" if ENV["MT_NO_EXPECTATIONS"]
|
588
585
|
|
589
|
-
@assertion_count +=
|
586
|
+
@assertion_count += 2 # assert_match is compound
|
590
587
|
|
591
|
-
e = assert_raises RuntimeError do
|
588
|
+
e = assert_raises RuntimeError, Minitest::UnexpectedWarning do
|
592
589
|
capture_io do
|
593
590
|
Thread.new { # forces ctx to be nil
|
594
591
|
describe("woot") do
|
@@ -598,17 +595,21 @@ describe Minitest::Spec do
|
|
598
595
|
end
|
599
596
|
end
|
600
597
|
|
601
|
-
|
598
|
+
exp = "Calling #must_equal outside of test."
|
599
|
+
exp = "DEPRECATED: global use of must_equal from" if error_on_warn?
|
600
|
+
|
601
|
+
assert_match exp, e.message
|
602
602
|
end
|
603
603
|
|
604
604
|
it "deprecates expectation used without _" do
|
605
605
|
skip "N/A" if ENV["MT_NO_EXPECTATIONS"]
|
606
606
|
|
607
|
-
@assertion_count +=
|
607
|
+
@assertion_count += 1
|
608
|
+
@assertion_count += 2 unless error_on_warn?
|
608
609
|
|
609
610
|
exp = /DEPRECATED: global use of must_equal from/
|
610
611
|
|
611
|
-
|
612
|
+
assert_deprecation exp do
|
612
613
|
(1 + 1).must_equal 2
|
613
614
|
end
|
614
615
|
end
|
@@ -618,12 +619,13 @@ describe Minitest::Spec do
|
|
618
619
|
it "deprecates expectation used without _ with empty backtrace_filter" do
|
619
620
|
skip "N/A" if ENV["MT_NO_EXPECTATIONS"]
|
620
621
|
|
621
|
-
@assertion_count +=
|
622
|
+
@assertion_count += 1
|
623
|
+
@assertion_count += 2 unless error_on_warn?
|
622
624
|
|
623
625
|
exp = /DEPRECATED: global use of must_equal from/
|
624
626
|
|
625
627
|
with_empty_backtrace_filter do
|
626
|
-
|
628
|
+
assert_deprecation exp do
|
627
629
|
(1 + 1).must_equal 2
|
628
630
|
end
|
629
631
|
end
|
@@ -28,24 +28,24 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
28
28
|
basedir = Pathname.new(File.expand_path "lib/minitest") + "mini"
|
29
29
|
basedir = basedir.relative_path_from(pwd).to_s
|
30
30
|
MINITEST_BASE_DIR = basedir[/\A\./] ? basedir : "./#{basedir}"
|
31
|
-
BT_MIDDLE = ["#{MINITEST_BASE_DIR}/test.rb:161:in
|
32
|
-
"#{MINITEST_BASE_DIR}/test.rb:158:in
|
33
|
-
"#{MINITEST_BASE_DIR}/test.rb:139:in
|
34
|
-
"#{MINITEST_BASE_DIR}/test.rb:106:in
|
31
|
+
BT_MIDDLE = ["#{MINITEST_BASE_DIR}/test.rb:161:in 'each'",
|
32
|
+
"#{MINITEST_BASE_DIR}/test.rb:158:in 'each'",
|
33
|
+
"#{MINITEST_BASE_DIR}/test.rb:139:in 'run'",
|
34
|
+
"#{MINITEST_BASE_DIR}/test.rb:106:in 'run'"]
|
35
35
|
|
36
36
|
def test_filter_backtrace
|
37
37
|
# this is a semi-lame mix of relative paths.
|
38
38
|
# I cheated by making the autotest parts not have ./
|
39
|
-
bt = (["lib/autotest.rb:571:in
|
40
|
-
"test/test_autotest.rb:62:in
|
41
|
-
"#{MINITEST_BASE_DIR}/test.rb:165:in
|
39
|
+
bt = (["lib/autotest.rb:571:in 'add_exception'",
|
40
|
+
"test/test_autotest.rb:62:in 'test_add_exception'",
|
41
|
+
"#{MINITEST_BASE_DIR}/test.rb:165:in '__send__'"] +
|
42
42
|
BT_MIDDLE +
|
43
43
|
["#{MINITEST_BASE_DIR}/test.rb:29",
|
44
44
|
"test/test_autotest.rb:422"])
|
45
45
|
bt = util_expand_bt bt
|
46
46
|
|
47
|
-
ex = ["lib/autotest.rb:571:in
|
48
|
-
"test/test_autotest.rb:62:in
|
47
|
+
ex = ["lib/autotest.rb:571:in 'add_exception'",
|
48
|
+
"test/test_autotest.rb:62:in 'test_add_exception'"]
|
49
49
|
ex = util_expand_bt ex
|
50
50
|
|
51
51
|
Minitest::Test.io_lock.synchronize do # try not to trounce in parallel
|
@@ -56,7 +56,7 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_filter_backtrace_all_unit
|
59
|
-
bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in
|
59
|
+
bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in '__send__'"] +
|
60
60
|
BT_MIDDLE +
|
61
61
|
["#{MINITEST_BASE_DIR}/test.rb:29"])
|
62
62
|
ex = bt.clone
|
@@ -65,7 +65,7 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def test_filter_backtrace_unit_starts
|
68
|
-
bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in
|
68
|
+
bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in '__send__'"] +
|
69
69
|
BT_MIDDLE +
|
70
70
|
["#{MINITEST_BASE_DIR}/mini/test.rb:29",
|
71
71
|
"-e:1"])
|
@@ -94,7 +94,7 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
94
94
|
end
|
95
95
|
|
96
96
|
def test_this_is_non_ascii_failure_message
|
97
|
-
fail 'ЁЁЁ'.force_encoding(
|
97
|
+
fail 'ЁЁЁ'.dup.force_encoding(Encoding::BINARY)
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
@@ -111,7 +111,7 @@ class TestMinitestUnit < MetaMetaMetaTestCase
|
|
111
111
|
2) Error:
|
112
112
|
FakeNamedTestXX#test_this_is_non_ascii_failure_message:
|
113
113
|
RuntimeError: ЁЁЁ
|
114
|
-
FILE:LINE:in
|
114
|
+
FILE:LINE:in 'test_this_is_non_ascii_failure_message'
|
115
115
|
|
116
116
|
2 runs, 1 assertions, 1 failures, 1 errors, 0 skips
|
117
117
|
EOM
|
@@ -263,7 +263,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
263
263
|
1) Error:
|
264
264
|
FakeNamedTestXX#test_error:
|
265
265
|
RuntimeError: unhandled exception
|
266
|
-
FILE:LINE:in
|
266
|
+
FILE:LINE:in \'test_error\'
|
267
267
|
|
268
268
|
2 runs, 1 assertions, 0 failures, 1 errors, 0 skips
|
269
269
|
EOM
|
@@ -291,7 +291,7 @@ class TestMinitestRunner < MetaMetaMetaTestCase
|
|
291
291
|
1) Error:
|
292
292
|
FakeNamedTestXX#test_something:
|
293
293
|
RuntimeError: unhandled exception
|
294
|
-
FILE:LINE:in
|
294
|
+
FILE:LINE:in \'teardown\'
|
295
295
|
|
296
296
|
1 runs, 1 assertions, 0 failures, 1 errors, 0 skips
|
297
297
|
EOM
|
@@ -1126,19 +1126,19 @@ class TestMinitestGuard < Minitest::Test
|
|
1126
1126
|
end
|
1127
1127
|
|
1128
1128
|
def test_rubinius_eh
|
1129
|
-
|
1129
|
+
assert_deprecation do
|
1130
1130
|
assert self.class.rubinius? "rbx"
|
1131
1131
|
end
|
1132
|
-
|
1132
|
+
assert_deprecation do
|
1133
1133
|
assert self.rubinius? "rbx"
|
1134
1134
|
end
|
1135
1135
|
end
|
1136
1136
|
|
1137
1137
|
def test_maglev_eh
|
1138
|
-
|
1138
|
+
assert_deprecation do
|
1139
1139
|
assert self.class.maglev? "maglev"
|
1140
1140
|
end
|
1141
|
-
|
1141
|
+
assert_deprecation do
|
1142
1142
|
assert self.maglev? "maglev"
|
1143
1143
|
end
|
1144
1144
|
end
|
@@ -1261,12 +1261,12 @@ class TestMinitestUnitRecording < MetaMetaMetaTestCase
|
|
1261
1261
|
Error:
|
1262
1262
|
FakeNamedTestXX#test_method:
|
1263
1263
|
AnError: AnError
|
1264
|
-
FILE:LINE:in
|
1264
|
+
FILE:LINE:in 'test_method'
|
1265
1265
|
|
1266
1266
|
Error:
|
1267
1267
|
FakeNamedTestXX#test_method:
|
1268
1268
|
RuntimeError: unhandled exception
|
1269
|
-
FILE:LINE:in
|
1269
|
+
FILE:LINE:in 'teardown'
|
1270
1270
|
"
|
1271
1271
|
|
1272
1272
|
assert_equal exp.strip, normalize_output(first_reporter.results.first.to_s).strip
|
@@ -26,6 +26,7 @@ class TestHoeTest < Minitest::Test
|
|
26
26
|
end
|
27
27
|
|
28
28
|
assert_equal MT_EXPECTED % [framework].join("; "), @tester.make_test_cmd
|
29
|
+
.sub(/ -- .+/, " -- ")
|
29
30
|
end
|
30
31
|
|
31
32
|
def test_make_test_cmd_for_minitest_prelude
|
@@ -42,5 +43,6 @@ class TestHoeTest < Minitest::Test
|
|
42
43
|
end
|
43
44
|
|
44
45
|
assert_equal MT_EXPECTED % [prelude, framework].join("; "), @tester.make_test_cmd
|
46
|
+
.sub(/ -- .+/, " -- ")
|
45
47
|
end
|
46
48
|
end
|
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.23.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -29,7 +29,7 @@ cert_chain:
|
|
29
29
|
S7043fq9EbQdBr2AXdj92+CDwuTfHI6/Hj5FVBDULufrJaan4xUgL70Hvc6pTTeW
|
30
30
|
deKfBjgVAq7EYHu1AczzlUly
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date: 2024-
|
32
|
+
date: 2024-05-15 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rdoc
|
@@ -140,8 +140,10 @@ files:
|
|
140
140
|
- lib/minitest/autorun.rb
|
141
141
|
- lib/minitest/benchmark.rb
|
142
142
|
- lib/minitest/compress.rb
|
143
|
+
- lib/minitest/error_on_warning.rb
|
143
144
|
- lib/minitest/expectations.rb
|
144
145
|
- lib/minitest/hell.rb
|
146
|
+
- lib/minitest/manual_plugins.rb
|
145
147
|
- lib/minitest/mock.rb
|
146
148
|
- lib/minitest/parallel.rb
|
147
149
|
- lib/minitest/pride.rb
|
metadata.gz.sig
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
@[�
|
1
|
+
�(�h��b��dv�.����l2 ��x��Wɐ��1�K�Q!�Y݊��(�Χ�#ij²��}�
|
2
|
+
3x�Yo>Zga�ڝ���A��_���J�9y��^�'�n��-��+H�v��؛����{�3ُ�P��(otF���j��4A3m�,N��S��c���2�\�������9�Hs�}:}��GyF��v������T���Y^������.N���>`�K�����$ww��^i+T�l� ��D{�����
|