minitest 5.18.1 → 5.19.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 992b073995b1f8471d46b12e317817e1280f7c25967218dd62520658243f4b97
4
- data.tar.gz: 4265a53b9aa6d02307622cb2b57754137e675a032164303feef25445fe3e2ad7
3
+ metadata.gz: 90d1006243ab84a197a234948e0256bba3cbecbfb1d5d62d55b44ed5422d7eed
4
+ data.tar.gz: 2b526508669eab5c8578c2075fe8a8a83f1434a609c09667888020142e9326b7
5
5
  SHA512:
6
- metadata.gz: dd001c5041d4bb8c59fc348a5ab1c9df657cee56938817d2c9e1e9dcabf0e593e0e70dffe56be52b36bff86545919f3982486d632a3393e847bd4c89f392ed80
7
- data.tar.gz: 6a6045f24033c98a45951e00fec38cd252687cd6e41069c76e22c3cbe9da8f9f4c8a5ed0b663ba009807dbb1dde6cb5b659e712db5383388955f6efa6d7501c3
6
+ metadata.gz: 6614896f10af7da66d1327f6ba5e0565458df8567d5687dddf02ee91dc3ece9332d7ffb706c9a3b093deaaec13f8ddf8f017d5f90ba8d18975bb6ebcb8a313d0
7
+ data.tar.gz: eff4fefb8a32661c3e0fdf80a7b3c4cfc81f6e9dcd160a40aef3e49e6d82cf1c5b6bff92fc0faaf8dab6334049c11f54e18d95a745c82e8aecfb3533ed7b3194
checksums.yaml.gz.sig CHANGED
Binary file
data/History.rdoc CHANGED
@@ -1,3 +1,14 @@
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
+
1
12
  === 5.18.1 / 2023-06-16
2
13
 
3
14
  * 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 MiniTest::Test
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" 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.1" # :nodoc:
12
+ VERSION = "5.19.0" # :nodoc:
13
13
 
14
14
  @@installed_at_exit ||= false
15
15
  @@after_run = []
@@ -446,6 +446,31 @@ module Minitest
446
446
  self.name = name
447
447
  self.failures = []
448
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
449
474
  end
450
475
 
451
476
  ##
@@ -566,6 +591,7 @@ module Minitest
566
591
  r.assertions = o.assertions
567
592
  r.failures = o.failures.dup
568
593
  r.time = o.time
594
+ r.metadata = o.metadata if o.metadata?
569
595
 
570
596
  r.source_location = o.method(o.name).source_location rescue ["unknown", -1]
571
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
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.18.1
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-06-16 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
metadata.gz.sig CHANGED
Binary file