minitest 5.18.0 → 5.25.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 +187 -1
- data/Manifest.txt +3 -0
- data/README.rdoc +28 -17
- data/Rakefile +7 -1
- data/lib/hoe/minitest.rb +2 -1
- data/lib/minitest/assertions.rb +77 -80
- data/lib/minitest/autorun.rb +0 -7
- data/lib/minitest/benchmark.rb +6 -9
- data/lib/minitest/compress.rb +94 -0
- data/lib/minitest/error_on_warning.rb +11 -0
- data/lib/minitest/expectations.rb +2 -2
- data/lib/minitest/manual_plugins.rb +16 -0
- data/lib/minitest/mock.rb +39 -19
- data/lib/minitest/parallel.rb +5 -5
- data/lib/minitest/pride_plugin.rb +16 -23
- data/lib/minitest/spec.rb +13 -12
- data/lib/minitest/test.rb +17 -36
- data/lib/minitest/test_task.rb +21 -19
- data/lib/minitest.rb +298 -141
- data/test/minitest/metametameta.rb +32 -18
- data/test/minitest/test_minitest_assertions.rb +159 -140
- data/test/minitest/test_minitest_benchmark.rb +1 -1
- data/test/minitest/test_minitest_mock.rb +151 -79
- data/test/minitest/test_minitest_reporter.rb +143 -19
- data/test/minitest/test_minitest_spec.rb +73 -56
- data/test/minitest/test_minitest_test.rb +218 -116
- data/test/minitest/test_minitest_test_task.rb +18 -7
- data.tar.gz.sig +0 -0
- metadata +21 -20
- 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: e2ea23b9f86dd37b5f5f3d45fb451303827cbdf9414215d8f769da3624184325
|
4
|
+
data.tar.gz: 3d976e8b864261af92ba50d466235e4fa529f31d3560d60ec4deba8e724fc872
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1258d24412b8461fe9a94acb9b795a1cd2a25db2d16f924ce6367662478d9e0672532636b5a2ccd809f549ba8ba6ab8f0cbeb6e8a249b1b91161cc4297f31c92
|
7
|
+
data.tar.gz: 4d6a977e948f40d05e7786d07656616e9f3a4e4469a59e7b5a8e571b8f6821284989156ca4225e8e7a29cfe640bbaf544248697e14536f7c63946ffc2a34232e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,189 @@
|
|
1
|
+
=== 5.25.5 / 2025-03-12
|
2
|
+
|
3
|
+
* 4 bug fixes:
|
4
|
+
|
5
|
+
* Bumped minimum ruby to 2.7.
|
6
|
+
* Fixed expectation docs for must/wont_pattern_match. (jaredcwhite)
|
7
|
+
* Reorder Minitest::Test.ancestors to allow reaching Minitest::Assertions#skipped? (Edouard-chin)
|
8
|
+
* Update the ruby and rails compatibility tables. (bquorning)
|
9
|
+
|
10
|
+
=== 5.25.4 / 2024-12-03
|
11
|
+
|
12
|
+
* 1 bug fix:
|
13
|
+
|
14
|
+
* Fix for must_verify definition if only requiring minitest/mock (but why?).
|
15
|
+
|
16
|
+
=== 5.25.3 / 2024-12-03
|
17
|
+
|
18
|
+
* 5 bug fixes:
|
19
|
+
|
20
|
+
* Fixed assert_mock to fail instead of raise on unmet mock expectations.
|
21
|
+
* Fixed assert_mock to take an optional message argument.
|
22
|
+
* Fixed formatting of unmet mock expectation messages.
|
23
|
+
* Fixed missing must_verify expectation to match assert_mock.
|
24
|
+
* minitest/pride: Fixed to use true colors with *-direct terminals (bk2204)
|
25
|
+
|
26
|
+
=== 5.25.2 / 2024-11-21
|
27
|
+
|
28
|
+
* 4 bug fixes:
|
29
|
+
|
30
|
+
* Include class name in spec name. (thomasmarshall)
|
31
|
+
* Fixed 'redefining object_id' warning from ruby 3.4. (mattbrictson)
|
32
|
+
* Minitest top-level namespace no longer includes entire contents of README.rdoc. Too much!
|
33
|
+
* Refactored spec's describe to more cleanly determine the superclass and name
|
34
|
+
|
35
|
+
=== 5.25.1 / 2024-08-16
|
36
|
+
|
37
|
+
* 2 bug fixes:
|
38
|
+
|
39
|
+
* Fix incompatibility caused by minitest-hooks & rails invading minitest internals.
|
40
|
+
* Revert change from =~ to match? to allow for nil if $TERM undefined.
|
41
|
+
|
42
|
+
=== 5.25.0 / 2024-08-13
|
43
|
+
|
44
|
+
* 2 minor enhancements:
|
45
|
+
|
46
|
+
* Fixed some inefficiencies filtering and matching (mostly backtraces).
|
47
|
+
* Refactored siginfo handler to reduce runtime costs. Saved ~30%!
|
48
|
+
|
49
|
+
* 5 bug fixes:
|
50
|
+
|
51
|
+
* Added missing rdoc to get back to 100% coverage.
|
52
|
+
* Cleaning up ancient code checking for defined?(Encoding) and the like.
|
53
|
+
* Disambiguated some shadowed variables in minitest/compress.
|
54
|
+
* Fixed an ironic bug if using string-literals AND Werror.
|
55
|
+
* Improve description of test:slow task. (stomar)
|
56
|
+
|
57
|
+
=== 5.24.1 / 2024-06-29
|
58
|
+
|
59
|
+
* 1 bug fix:
|
60
|
+
|
61
|
+
* Fix the error message when an extension is invalid value. (y-yagi)
|
62
|
+
|
63
|
+
=== 5.24.0 / 2024-06-18
|
64
|
+
|
65
|
+
* 2 minor enhancements:
|
66
|
+
|
67
|
+
* Added Minitest.register_plugin.
|
68
|
+
* Extended plugin system to work with modules/classes for opt-out plugins.
|
69
|
+
|
70
|
+
* 1 bug fix:
|
71
|
+
|
72
|
+
* Removed anacronism, but allow load_plugins to exit gracefully if --disable=gems.
|
73
|
+
|
74
|
+
=== 5.23.1 / 2024-05-21
|
75
|
+
|
76
|
+
* 1 bug fix:
|
77
|
+
|
78
|
+
* Fully qualify the Queue class to avoid conflicts with other libraries. (rafaelfranca)
|
79
|
+
|
80
|
+
=== 5.23.0 / 2024-05-15
|
81
|
+
|
82
|
+
* 3 minor enhancements:
|
83
|
+
|
84
|
+
* Added -Werror to raise on any warning output. (byroot)
|
85
|
+
* Added UnexpectedWarning as a failure summary type, added count to output if activated.
|
86
|
+
* Added minitest/manual_plugins.rb w/ new Minitest.load method. (tenderlove)
|
87
|
+
|
88
|
+
* 2 bug fixes:
|
89
|
+
|
90
|
+
* Allow empty_run! and reporter to display summary for empty runs. (zzak)
|
91
|
+
* Make test task verbose using either rake's -v or -t (was just -t).
|
92
|
+
|
93
|
+
=== 5.22.3 / 2024-03-13
|
94
|
+
|
95
|
+
* 1 minor enhancement:
|
96
|
+
|
97
|
+
* MASSIVE improvement of minitest's pride plugin output: Frequencies doubled! Sine waves shifted!! Comments improved!!! Colors rotated!!!! (havenwood)
|
98
|
+
|
99
|
+
* 3 bug fixes:
|
100
|
+
|
101
|
+
* Improved wording on Minitest::Test#parallelize_me! to clarify it goes INSIDE your test class/describe.
|
102
|
+
* Minor changes to tests to pass when tests ran with extra flags (eg -p).
|
103
|
+
* Support Ruby 3.4's new error message format. (mame)
|
104
|
+
|
105
|
+
=== 5.22.2 / 2024-02-07
|
106
|
+
|
107
|
+
* 1 bug fix:
|
108
|
+
|
109
|
+
* Third time's a charm? Remember: 'ensure' is almost always the
|
110
|
+
wrong way to go (for results... it's great for cleaning up).
|
111
|
+
|
112
|
+
=== 5.22.1 / 2024-02-06
|
113
|
+
|
114
|
+
* 1 bug fix:
|
115
|
+
|
116
|
+
* Don't exit non-zero if no tests ran and no filter (aka, the test file is empty).
|
117
|
+
(I'm starting to think the exit 1 thing for @tenderlove was a mistake...)
|
118
|
+
|
119
|
+
=== 5.22.0 / 2024-02-05
|
120
|
+
|
121
|
+
* 1 minor enhancement:
|
122
|
+
|
123
|
+
* Added "did you mean" output if your --name filter matches nothing. (tenderlove)
|
124
|
+
|
125
|
+
* 2 bug fixes:
|
126
|
+
|
127
|
+
* Big cleanup of test filtering. Much prettier / more functional.
|
128
|
+
* Fix situation where Assertion#location can't find the location. (pftg)
|
129
|
+
|
130
|
+
=== 5.21.2 / 2024-01-17
|
131
|
+
|
132
|
+
* 1 bug fix:
|
133
|
+
|
134
|
+
* Fixed bug in Minitest::Compress#compress formatting w/ nested patterns. Now recurses properly.
|
135
|
+
|
136
|
+
=== 5.21.1 / 2024-01-11
|
137
|
+
|
138
|
+
* 1 bug fix:
|
139
|
+
|
140
|
+
* Rails' default backtrace filter can't currently work with caller_locations, so reverting back to caller.
|
141
|
+
|
142
|
+
=== 5.21.0 / 2024-01-11
|
143
|
+
|
144
|
+
* 10 minor enhancements:
|
145
|
+
|
146
|
+
* Add include_all kw arg to assert_respond_to and refute_respond_to.
|
147
|
+
* Added --quiet flag to skip ProgressReporter (prints the dots). Minor speedup.
|
148
|
+
* Added Minitest::Compress#compress and added it to UnexpectedError.
|
149
|
+
* Added ability to initialize BacktraceFilter w/ custom regexp.
|
150
|
+
* Filter failure backtraces using backtrace_filter before calculating location. (thomasmarshall)
|
151
|
+
* Make BacktraceFilter#filter compatible with locations (still compares strings).
|
152
|
+
* Optimized Assertion#location ~30%.
|
153
|
+
* Output relative paths for all failures/errors/backtraces.
|
154
|
+
* Refactored location information in assertions, now using locations.
|
155
|
+
* Removed thread and mutex_m dependencies. (hsbt, eregon)
|
156
|
+
|
157
|
+
* 2 bug fixes:
|
158
|
+
|
159
|
+
* Drop undocumented bt arg in #skip. Dunno why that ever happened, prolly for testing?
|
160
|
+
* Fix mock to work with ruby debugger enabled. (keithlayne)
|
161
|
+
|
162
|
+
=== 5.20.0 / 2023-09-06
|
163
|
+
|
164
|
+
* 1 minor enhancement:
|
165
|
+
|
166
|
+
* Optionally allow autorun exit hook to remain active in forked child. (casperisfine)
|
167
|
+
|
168
|
+
=== 5.19.0 / 2023-07-26
|
169
|
+
|
170
|
+
* 2 minor enhancements:
|
171
|
+
|
172
|
+
* Add metadata lazy accessor to Runnable / Result. (matteeyah)
|
173
|
+
* Only load minitest/unit (aka ancient MiniTest compatibility layer) if \ENV[\"MT_COMPAT\"]
|
174
|
+
|
175
|
+
* 1 bug fix:
|
176
|
+
|
177
|
+
* Minitest::TestTask enthusiastically added itself to default. (ParadoxV5)
|
178
|
+
|
179
|
+
=== 5.18.1 / 2023-06-16
|
180
|
+
|
181
|
+
* 3 bug fixes:
|
182
|
+
|
183
|
+
* Avoid extra string allocations when filtering tests. (tenderlove)
|
184
|
+
* Only mention deprecated \ENV[\'N\'] if it is an integer string.
|
185
|
+
* Push up test_order to Minitest::Runnable to fix minitest/hell. (koic)
|
186
|
+
|
1
187
|
=== 5.18.0 / 2023-03-04
|
2
188
|
|
3
189
|
* 2 major enhancements:
|
@@ -189,7 +375,7 @@
|
|
189
375
|
|
190
376
|
* 3 bug fixes:
|
191
377
|
|
192
|
-
* Check
|
378
|
+
* Check \option[:filter] klass before match. Fixes 2.6 warning. (y-yagi)
|
193
379
|
* Fixed Assertions#diff from recalculating if set to nil
|
194
380
|
* Fixed spec section of readme to not use deprecated global expectations. (CheezItMan)
|
195
381
|
|
data/Manifest.txt
CHANGED
@@ -9,8 +9,11 @@ lib/minitest.rb
|
|
9
9
|
lib/minitest/assertions.rb
|
10
10
|
lib/minitest/autorun.rb
|
11
11
|
lib/minitest/benchmark.rb
|
12
|
+
lib/minitest/compress.rb
|
13
|
+
lib/minitest/error_on_warning.rb
|
12
14
|
lib/minitest/expectations.rb
|
13
15
|
lib/minitest/hell.rb
|
16
|
+
lib/minitest/manual_plugins.rb
|
14
17
|
lib/minitest/mock.rb
|
15
18
|
lib/minitest/parallel.rb
|
16
19
|
lib/minitest/pride.rb
|
data/README.rdoc
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
= minitest/{test,spec,mock,benchmark}
|
2
2
|
|
3
|
-
home :: https://github.com/
|
4
|
-
bugs :: https://github.com/
|
3
|
+
home :: https://github.com/minitest/minitest
|
4
|
+
bugs :: https://github.com/minitest/minitest/issues
|
5
5
|
rdoc :: https://docs.seattlerb.org/minitest
|
6
|
+
clog :: https://github.com/minitest/minitest/blob/master/History.rdoc
|
6
7
|
vim :: https://github.com/sunaku/vim-ruby-minitest
|
7
8
|
emacs:: https://github.com/arthurnn/minitest-emacs
|
8
9
|
|
@@ -405,37 +406,47 @@ Using our example above, here is how we might implement MyCI:
|
|
405
406
|
|
406
407
|
=== What versions are compatible with what? Or what versions are supported?
|
407
408
|
|
408
|
-
Minitest is a dependency of rails, which until
|
409
|
+
Minitest is a dependency of rails, which until very recently had an
|
409
410
|
overzealous backwards compatibility policy. As such, I'm stuck
|
410
411
|
supporting versions of ruby that are long past EOL. Hopefully I'll be
|
411
412
|
able to support only current versions of ruby sometime in the near
|
412
413
|
future.
|
413
414
|
|
414
|
-
|
415
|
+
NOTICE: At this point, I will only locally test/dev against the
|
416
|
+
currently 3 supported (non-EOL) versions of ruby. I cannot and will
|
417
|
+
not maintain that many builds.
|
418
|
+
|
419
|
+
(As of 2025-02-03)
|
415
420
|
|
416
421
|
Current versions of rails: (https://endoflife.date/rails)
|
417
422
|
|
418
|
-
| rails | min ruby |
|
419
|
-
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
423
|
+
| rails | min ruby | minitest | status | EOL Date |
|
424
|
+
|-------+----------+----------+----------+------------|
|
425
|
+
| 8.0 | >= 3.2 | >= 5.1 | Current | 2026-11-07 |
|
426
|
+
| 7.2 | >= 3.1 | >= 5.1 | Current | 2026-08-09 |
|
427
|
+
| 7.1 | >= 2.7 | >= 5.1 | Security | 2025-10-01 |
|
428
|
+
| 7.0 | >= 2.7 | >= 5.1 | Security | 2025-04-01 |
|
429
|
+
| 6.1 | >= 2.5 | >= 5.1 | EOL | 2024-10-01 |
|
430
|
+
| 6.0 | >= 2.5 | >= 5.1 | EOL | 2023-06-01 |
|
431
|
+
| 5.2 | >= 2.2.2 | ~> 5.1 | EOL | 2022-06-01 |
|
432
|
+
|
433
|
+
If you want to look at the requirements for a specific version, run:
|
434
|
+
|
435
|
+
gem spec -r --ruby rails -v 8.0.0
|
424
436
|
|
425
437
|
Current versions of ruby: (https://endoflife.date/ruby)
|
426
438
|
|
427
439
|
| ruby | Status | EOL Date |
|
428
440
|
|------+---------+------------|
|
429
|
-
| 3.
|
430
|
-
| 3.
|
431
|
-
| 2
|
441
|
+
| 3.4 | Current | 2028-03-31 |
|
442
|
+
| 3.3 | Maint | 2027-03-31 |
|
443
|
+
| 3.2 | Security| 2026-03-31 |
|
444
|
+
| 3.1 | EOL | 2025-03-31 |
|
445
|
+
| 3.0 | EOL | 2024-03-31 |
|
446
|
+
| 2.7 | EOL | 2023-03-31 |
|
432
447
|
| 2.6 | EOL | 2022-03-31 |
|
433
448
|
| 2.5 | EOL | 2021-03-31 |
|
434
449
|
|
435
|
-
See also:
|
436
|
-
|
437
|
-
* https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html
|
438
|
-
|
439
450
|
=== How to test SimpleDelegates?
|
440
451
|
|
441
452
|
The following implementation and test:
|
data/Rakefile
CHANGED
@@ -12,7 +12,7 @@ Hoe.spec "minitest" do
|
|
12
12
|
|
13
13
|
license "MIT"
|
14
14
|
|
15
|
-
require_ruby_version [">= 2.
|
15
|
+
require_ruby_version [">= 2.7", "< 4.0"]
|
16
16
|
end
|
17
17
|
|
18
18
|
desc "Find missing expectations"
|
@@ -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
|
data/lib/hoe/minitest.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# :stopdoc:
|
2
2
|
|
3
3
|
class Hoe
|
4
|
+
# empty
|
4
5
|
end
|
5
6
|
|
6
7
|
module Hoe::Minitest
|
@@ -16,7 +17,7 @@ module Hoe::Minitest
|
|
16
17
|
|
17
18
|
gem "minitest"
|
18
19
|
require "minitest"
|
19
|
-
version = Minitest::VERSION.split(
|
20
|
+
version = Minitest::VERSION.split(".").first(2).join "."
|
20
21
|
|
21
22
|
dependency "minitest", "~> #{version}", :development unless
|
22
23
|
minitest? or ENV["MT_NO_ISOLATE"]
|