minitest 5.18.0 → 5.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27d1d24e16ba576cc5a425d6e09e3de81465d10104a647c21ad9a5df36be1551
4
- data.tar.gz: c3ca5dd490b7d08ee3254c7c8a680af0675f72e5356ad97b55dd1ec67e27251d
3
+ metadata.gz: 90d1006243ab84a197a234948e0256bba3cbecbfb1d5d62d55b44ed5422d7eed
4
+ data.tar.gz: 2b526508669eab5c8578c2075fe8a8a83f1434a609c09667888020142e9326b7
5
5
  SHA512:
6
- metadata.gz: f545c292aabb802ae8e03cea73bf2334a8ac6dea7da411b8e6ad48e036b00eabac550e5405c11aea175b30a9d65aced4e3601258081e845299ff6e1dbffd353d
7
- data.tar.gz: ae62ac5c0f4218b66fe0206eb0205828c872531d6b68a4b0537fbe4b0a8753ccf604b4d11a11322dc329b275a1428683125c061e6e255f90ff5a076e4afb02ad
6
+ metadata.gz: 6614896f10af7da66d1327f6ba5e0565458df8567d5687dddf02ee91dc3ece9332d7ffb706c9a3b093deaaec13f8ddf8f017d5f90ba8d18975bb6ebcb8a313d0
7
+ data.tar.gz: eff4fefb8a32661c3e0fdf80a7b3c4cfc81f6e9dcd160a40aef3e49e6d82cf1c5b6bff92fc0faaf8dab6334049c11f54e18d95a745c82e8aecfb3533ed7b3194
checksums.yaml.gz.sig CHANGED
Binary file
data/History.rdoc CHANGED
@@ -1,3 +1,22 @@
1
+ === 5.19.0 / 2023-07-26
2
+
3
+ * 2 minor enhancements:
4
+
5
+ * Add metadata lazy accessor to Runnable / Result. (matteeyah)
6
+ * Only load minitest/unit (aka ancient MiniTest compatibility layer) if ENV["MT_COMPAT"]
7
+
8
+ * 1 bug fix:
9
+
10
+ * Minitest::TestTask enthusiastically added itself to default. (ParadoxV5)
11
+
12
+ === 5.18.1 / 2023-06-16
13
+
14
+ * 3 bug fixes:
15
+
16
+ * Avoid extra string allocations when filtering tests. (tenderlove)
17
+ * Only mention deprecated ENV['N'] if it is an integer string.
18
+ * Push up test_order to Minitest::Runnable to fix minitest/hell. (koic)
19
+
1
20
  === 5.18.0 / 2023-03-04
2
21
 
3
22
  * 2 major enhancements:
data/README.rdoc CHANGED
@@ -1,7 +1,7 @@
1
1
  = minitest/{test,spec,mock,benchmark}
2
2
 
3
- home :: https://github.com/seattlerb/minitest
4
- bugs :: https://github.com/seattlerb/minitest/issues
3
+ home :: https://github.com/minitest/minitest
4
+ bugs :: https://github.com/minitest/minitest/issues
5
5
  rdoc :: https://docs.seattlerb.org/minitest
6
6
  vim :: https://github.com/sunaku/vim-ruby-minitest
7
7
  emacs:: https://github.com/arthurnn/minitest-emacs
@@ -411,7 +411,7 @@ supporting versions of ruby that are long past EOL. Hopefully I'll be
411
411
  able to support only current versions of ruby sometime in the near
412
412
  future.
413
413
 
414
- (As of 2022-11-29)
414
+ (As of 2023-03-05)
415
415
 
416
416
  Current versions of rails: (https://endoflife.date/rails)
417
417
 
@@ -422,20 +422,21 @@ Current versions of rails: (https://endoflife.date/rails)
422
422
  | 6.0 | >= 2.5 | 2.6 | >= 5.1 | Security | 2023-06-01 |
423
423
  | 5.2 | >= 2.2.2 | 2.5 | ~> 5.1 | EOL | 2022-06-01 |
424
424
 
425
+ If you want to look at the requirements for a specific version, run:
426
+
427
+ gem spec -r --ruby rails -v 7.0.0
428
+
425
429
  Current versions of ruby: (https://endoflife.date/ruby)
426
430
 
427
431
  | ruby | Status | EOL Date |
428
432
  |------+---------+------------|
429
- | 3.1 | Current | 2025-12-25 |
433
+ | 3.2 | Current | 2026-03-31 |
434
+ | 3.1 | Maint | 2025-03-31 |
430
435
  | 3.0 | Maint | 2024-03-31 |
431
- | 2.7 | Maint* | 2023-03-31 |
436
+ | 2.7 | Security| 2023-03-31 |
432
437
  | 2.6 | EOL | 2022-03-31 |
433
438
  | 2.5 | EOL | 2021-03-31 |
434
439
 
435
- See also:
436
-
437
- * https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html
438
-
439
440
  === How to test SimpleDelegates?
440
441
 
441
442
  The following implementation and test:
data/lib/minitest/test.rb CHANGED
@@ -80,14 +80,6 @@ module Minitest
80
80
  end
81
81
  end
82
82
 
83
- ##
84
- # Defines the order to run tests (:random by default). Override
85
- # this or use a convenience method to change it for your tests.
86
-
87
- def self.test_order
88
- :random
89
- end
90
-
91
83
  ##
92
84
  # Runs a single test with setup/teardown hooks.
93
85
 
@@ -149,7 +141,7 @@ module Minitest
149
141
  # end
150
142
  # end
151
143
  #
152
- # class MiniTest::Test
144
+ # class Minitest::Test
153
145
  # include MyMinitestPlugin
154
146
  # end
155
147
 
@@ -253,4 +245,4 @@ module Minitest
253
245
  end # Test
254
246
  end
255
247
 
256
- require "minitest/unit" unless defined?(MiniTest) # compatibility layer only
248
+ require "minitest/unit" if ENV["MT_COMPAT"] # compatibility layer only
@@ -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.18.0" # :nodoc:
12
+ VERSION = "5.19.0" # :nodoc:
13
13
 
14
14
  @@installed_at_exit ||= false
15
15
  @@after_run = []
@@ -32,7 +32,7 @@ module Minitest
32
32
 
33
33
  cattr_accessor :parallel_executor
34
34
 
35
- warn "DEPRECATED: use MT_CPU instead of N for parallel test runs" if ENV["N"]
35
+ warn "DEPRECATED: use MT_CPU instead of N for parallel test runs" if ENV["N"] && ENV["N"].to_i > 0
36
36
  n_threads = (ENV["MT_CPU"] || ENV["N"] || Etc.nprocessors).to_i
37
37
 
38
38
  self.parallel_executor = Parallel::Executor.new n_threads
@@ -331,19 +331,25 @@ module Minitest
331
331
  # reporter to record.
332
332
 
333
333
  def self.run reporter, options = {}
334
- filter = options[:filter] || "/./"
335
- filter = Regexp.new $1 if filter.is_a?(String) && filter =~ %r%/(.*)/%
336
-
337
- filtered_methods = self.runnable_methods.find_all { |m|
338
- filter === m || filter === "#{self}##{m}"
339
- }
334
+ filtered_methods = if options[:filter]
335
+ filter = options[:filter]
336
+ filter = Regexp.new $1 if filter.is_a?(String) && filter =~ %r%/(.*)/%
337
+
338
+ self.runnable_methods.find_all { |m|
339
+ filter === m || filter === "#{self}##{m}"
340
+ }
341
+ else
342
+ self.runnable_methods
343
+ end
340
344
 
341
- exclude = options[:exclude]
342
- exclude = Regexp.new $1 if exclude =~ %r%/(.*)/%
345
+ if options[:exclude]
346
+ exclude = options[:exclude]
347
+ exclude = Regexp.new $1 if exclude =~ %r%/(.*)/%
343
348
 
344
- filtered_methods.delete_if { |m|
345
- exclude === m || exclude === "#{self}##{m}"
346
- }
349
+ filtered_methods.delete_if { |m|
350
+ exclude === m || exclude === "#{self}##{m}"
351
+ }
352
+ end
347
353
 
348
354
  return if filtered_methods.empty?
349
355
 
@@ -365,6 +371,14 @@ module Minitest
365
371
  reporter.record Minitest.run_one_method(klass, method_name)
366
372
  end
367
373
 
374
+ ##
375
+ # Defines the order to run tests (:random by default). Override
376
+ # this or use a convenience method to change it for your tests.
377
+
378
+ def self.test_order
379
+ :random
380
+ end
381
+
368
382
  def self.with_info_handler reporter, &block # :nodoc:
369
383
  handler = lambda do
370
384
  unless reporter.passed? then
@@ -432,6 +446,31 @@ module Minitest
432
446
  self.name = name
433
447
  self.failures = []
434
448
  self.assertions = 0
449
+ # lazy initializer for metadata
450
+ end
451
+
452
+ ##
453
+ # Metadata you attach to the test results that get sent to the reporter.
454
+ #
455
+ # Lazily initializes to a hash, to keep memory down.
456
+ #
457
+ # NOTE: this data *must* be plain (read: marshal-able) data!
458
+ # Hashes! Arrays! Strings!
459
+
460
+ def metadata
461
+ @metadata ||= {}
462
+ end
463
+
464
+ ##
465
+ # Sets metadata, mainly used for +Result.from+.
466
+
467
+ attr_writer :metadata
468
+
469
+ ##
470
+ # Returns true if metadata exists.
471
+
472
+ def metadata?
473
+ defined? @metadata
435
474
  end
436
475
 
437
476
  ##
@@ -552,6 +591,7 @@ module Minitest
552
591
  r.assertions = o.assertions
553
592
  r.failures = o.failures.dup
554
593
  r.time = o.time
594
+ r.metadata = o.metadata if o.metadata?
555
595
 
556
596
  r.source_location = o.method(o.name).source_location rescue ["unknown", -1]
557
597
 
@@ -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
data.tar.gz.sig CHANGED
@@ -1 +1 @@
1
- ��w`׬^�Ft���X�5�*��c.%RHt~��~F�A�ƴ #7?�"ļ���Ju��Wj$�: ��J8)bxeYʎEɆT2C�-xQ0 �.�.��ڿ�){�̯rFAt��W�& )��0{�X�s����Ps��Q�3˚�Fw,3H0GW$���1L���I��d2g�N_�nI�w��lm�k&&�DV��|��t��o�$�� ̵"���kq�q��x�Ҋ�G��￰�N���
1
+ Vuq���Y��΢�5�A� Q��������_K/������.�S��wi,U��z3���G�0c0h��@X�q��r1� 5z�eL�J-o��s�SQ��V�� i[ K����|��~���l��c���=ژooMg�K�q��; ���\���I�yI0���O�h(x��c=\�JtEv� ��iC��'ѫ���-��k�%�J�`���n;����p�?����I\b����3\�O)�)ӑwF���
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.18.0
4
+ version: 5.19.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-03-04 00:00:00.000000000 Z
32
+ date: 2023-07-26 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rdoc
@@ -157,12 +157,12 @@ files:
157
157
  - test/minitest/test_minitest_spec.rb
158
158
  - test/minitest/test_minitest_test.rb
159
159
  - test/minitest/test_minitest_test_task.rb
160
- homepage: https://github.com/seattlerb/minitest
160
+ homepage: https://github.com/minitest/minitest
161
161
  licenses:
162
162
  - MIT
163
163
  metadata:
164
- homepage_uri: https://github.com/seattlerb/minitest
165
- bug_tracker_uri: https://github.com/seattlerb/minitest/issues
164
+ homepage_uri: https://github.com/minitest/minitest
165
+ bug_tracker_uri: https://github.com/minitest/minitest/issues
166
166
  post_install_message:
167
167
  rdoc_options:
168
168
  - "--main"
@@ -183,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubygems_version: 3.4.6
186
+ rubygems_version: 3.4.10
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: minitest provides a complete suite of testing facilities supporting TDD,
metadata.gz.sig CHANGED
@@ -1 +1 @@
1
- !�u��$��T����1X���޺wO��Nbin��y��z+�|�Sܗbt�|9���_�aXߵ�����Op]9o��E�׀����G���k"����Hh���'�>K�����nK<+\шy�CƏ?���x1�{j�&�:ߢ��Br1
1
+ e�*E�0z�7�Dz�<��+���'B@lO׬"S<r�#��204�Q�1�Ն�l�FS-%]�0�Q�_}�BB3�-�Ne"�UP���[�G�u�N��>�K����#�5d��"2)$��3m���F��(���@�>�k���"ZRͮ`�-�&|N��y�t92z����� �c�ffz�.�O����%���r��YJ����<E��㲌�R>�'-~'4q���%oď�����0f@�fu�ϳ���$�9