minitest 5.27.0 → 6.0.1

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/History.rdoc +90 -0
  4. data/Manifest.txt +13 -4
  5. data/README.rdoc +5 -88
  6. data/Rakefile +5 -16
  7. data/bin/minitest +5 -0
  8. data/lib/minitest/assertions.rb +24 -56
  9. data/lib/minitest/autorun.rb +0 -1
  10. data/lib/minitest/benchmark.rb +1 -1
  11. data/lib/minitest/bisect.rb +306 -0
  12. data/lib/minitest/complete.rb +56 -0
  13. data/lib/minitest/find_minimal_combination.rb +127 -0
  14. data/lib/minitest/manual_plugins.rb +4 -16
  15. data/lib/minitest/parallel.rb +3 -3
  16. data/lib/minitest/path_expander.rb +425 -0
  17. data/lib/minitest/pride.rb +1 -1
  18. data/lib/minitest/server.rb +45 -0
  19. data/lib/minitest/server_plugin.rb +84 -0
  20. data/lib/minitest/spec.rb +2 -31
  21. data/lib/minitest/sprint.rb +104 -0
  22. data/lib/minitest/sprint_plugin.rb +39 -0
  23. data/lib/minitest/test.rb +5 -11
  24. data/lib/minitest/test_task.rb +16 -9
  25. data/lib/minitest.rb +64 -87
  26. data/test/minitest/metametameta.rb +1 -1
  27. data/test/minitest/test_bisect.rb +235 -0
  28. data/test/minitest/test_find_minimal_combination.rb +138 -0
  29. data/test/minitest/test_minitest_assertions.rb +33 -47
  30. data/test/minitest/test_minitest_benchmark.rb +14 -0
  31. data/test/minitest/test_minitest_spec.rb +38 -102
  32. data/test/minitest/test_minitest_test.rb +20 -99
  33. data/test/minitest/test_path_expander.rb +229 -0
  34. data/test/minitest/test_server.rb +149 -0
  35. data.tar.gz.sig +0 -0
  36. metadata +53 -33
  37. metadata.gz.sig +0 -0
  38. data/.autotest +0 -34
  39. data/lib/minitest/mock.rb +0 -327
  40. data/lib/minitest/unit.rb +0 -42
  41. data/test/minitest/test_minitest_mock.rb +0 -1213
@@ -0,0 +1,104 @@
1
+ $LOAD_PATH.unshift "test", "lib"
2
+
3
+ require "simplecov" if ENV["MT_COV"] || ARGV.delete("--simplecov")
4
+ require_relative "autorun"
5
+ require_relative "path_expander"
6
+
7
+ ##
8
+ # Runs (Get it? It's fast!) your tests and makes it easier to rerun individual
9
+ # failures.
10
+
11
+ module Minitest
12
+ class Sprint
13
+ # extracted version = "1.5.0"
14
+
15
+ ##
16
+ # Process and run minitest cmdline.
17
+
18
+ def self.run args = ARGV
19
+ if ARGV.delete("--bisect") or ARGV.delete("-b") then
20
+ require_relative "bisect"
21
+
22
+ return Minitest::Bisect.run ARGV
23
+ end
24
+
25
+ Minitest::PathExpander.new(args).process { |f|
26
+ require "./#{f}" if File.file? f
27
+ }
28
+ end
29
+
30
+ ##
31
+ # An extra minitest reporter to output how to rerun failures in
32
+ # various styles.
33
+
34
+ class SprintReporter < AbstractReporter
35
+ ##
36
+ # The style to report, either lines or regexp. Defaults to lines.
37
+ attr_accessor :style
38
+ attr_accessor :results # :nodoc:
39
+
40
+ def initialize style = :regexp # :nodoc:
41
+ self.results = []
42
+ self.style = style
43
+ end
44
+
45
+ def record result # :nodoc:
46
+ results << result unless result.passed? or result.skipped?
47
+ end
48
+
49
+ def report # :nodoc:
50
+ return if results.empty?
51
+
52
+ puts
53
+ puts "Happy Happy Sprint List:"
54
+ puts
55
+ print_list
56
+ puts
57
+ end
58
+
59
+ def print_list # :nodoc:
60
+ case style
61
+ when :regexp
62
+ results.each do |result|
63
+ puts " minitest -n #{result.class_name}##{result.name}"
64
+ end
65
+ when :lines
66
+ files = Hash.new { |h,k| h[k] = [] }
67
+ results.each do |result|
68
+ path, line = result.source_location
69
+ path = path.delete_prefix "#{Dir.pwd}/"
70
+ files[path] << line
71
+ end
72
+
73
+ files.sort.each do |path, lines|
74
+ puts " minitest %s:%s" % [path, lines.sort.join(",")]
75
+ end
76
+ else
77
+ raise "unsupported style: %p" % [style]
78
+ end
79
+ end
80
+ end
81
+
82
+ ##
83
+ # An extra minitest reporter to output how to rerun failures using
84
+ # rake.
85
+
86
+ class RakeReporter < SprintReporter
87
+ ##
88
+ # The name of the rake task to rerun. Defaults to nil.
89
+
90
+ attr_accessor :name
91
+
92
+ def initialize name = nil # :nodoc:
93
+ super()
94
+ self.name = name
95
+ end
96
+
97
+ def print_list # :nodoc:
98
+ results.each do |result|
99
+ puts [" rake", name, "N=#{result.class_name}##{result.name}"].compact.join(" ")
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,39 @@
1
+ require_relative "../minitest"
2
+
3
+ # :stopdoc:
4
+ class OptionParser # unofficial embedded gem "makeoptparseworkwell"
5
+ def hidden(...) = define(...).tap { |sw| def sw.summarize(*) = nil }
6
+ def deprecate(from, to) = hidden(from) { abort "#{from} is deprecated. Use #{to}." }
7
+ def topdict(name) = name.length > 1 ? top.long : top.short
8
+ def alias(from, to) = (dict = topdict(from) and dict[to] = dict[from])
9
+ end unless OptionParser.method_defined? :hidden
10
+ # :startdoc:
11
+
12
+ module Minitest # :nodoc:
13
+ def self.plugin_sprint_options opts, options # :nodoc:
14
+ opts.on "--rake [TASK]", "Report how to re-run failures with rake." do |task|
15
+ options[:sprint] = :rake
16
+ options[:rake_task] = task
17
+ end
18
+
19
+ opts.deprecate "--binstub", "--rerun"
20
+
21
+ sprint_styles = %w[rake lines names binstub]
22
+
23
+ opts.on "-r", "--rerun [STYLE]", sprint_styles, "Report how to re-run failures using STYLE (names, lines)." do |style|
24
+ options[:sprint] = (style || :lines).to_sym
25
+ end
26
+ end
27
+
28
+ def self.plugin_sprint_init options
29
+ require_relative "sprint"
30
+ case options[:sprint]
31
+ when :rake then
32
+ self.reporter << Minitest::Sprint::RakeReporter.new(options[:rake_task])
33
+ when :binstub, :names then
34
+ self.reporter << Minitest::Sprint::SprintReporter.new
35
+ when :lines then
36
+ self.reporter << Minitest::Sprint::SprintReporter.new(:lines)
37
+ end
38
+ end
39
+ end
data/lib/minitest/test.rb CHANGED
@@ -12,10 +12,6 @@ module Minitest
12
12
  include Minitest::Reportable
13
13
  include Minitest::Assertions
14
14
 
15
- def class_name # :nodoc:
16
- self.class.name # for Minitest::Reportable
17
- end
18
-
19
15
  PASSTHROUGH_EXCEPTIONS = [NoMemoryError, SignalException, SystemExit] # :nodoc:
20
16
 
21
17
  SETUP_METHODS = %w[ before_setup setup after_setup ] # :nodoc:
@@ -34,8 +30,8 @@ module Minitest
34
30
 
35
31
  def self.i_suck_and_my_tests_are_order_dependent!
36
32
  class << self
37
- undef_method :test_order if method_defined? :test_order
38
- define_method :test_order do :alpha end
33
+ undef_method :run_order if method_defined? :run_order
34
+ define_method :run_order do :alpha end
39
35
  end
40
36
  end
41
37
 
@@ -65,20 +61,20 @@ module Minitest
65
61
 
66
62
  ##
67
63
  # Returns all instance methods starting with "test_". Based on
68
- # #test_order, the methods are either sorted, randomized
64
+ # #run_order, the methods are either sorted, randomized
69
65
  # (default), or run in parallel.
70
66
 
71
67
  def self.runnable_methods
72
68
  methods = methods_matching(/^test_/)
73
69
 
74
- case self.test_order
70
+ case self.run_order
75
71
  when :random, :parallel then
76
72
  srand Minitest.seed
77
73
  methods.sort.shuffle
78
74
  when :alpha, :sorted then
79
75
  methods.sort
80
76
  else
81
- raise "Unknown test_order: #{self.test_order.inspect}"
77
+ raise "Unknown_order: %p" % [self.run_order]
82
78
  end
83
79
  end
84
80
 
@@ -234,5 +230,3 @@ module Minitest
234
230
  extend Guard
235
231
  end # Test
236
232
  end
237
-
238
- require_relative "unit" if ENV["MT_COMPAT"] # compatibility layer only
@@ -168,20 +168,18 @@ module Minitest # :nodoc:
168
168
  ENV["TESTOPTS"]
169
169
  warn "FILTER is deprecated in Minitest::TestTask. Use A instead" if
170
170
  ENV["FILTER"]
171
- warn "N is deprecated in Minitest::TestTask. Use MT_CPU instead" if
172
- ENV["N"] && ENV["N"].to_i > 0
173
171
 
174
172
  lib_extras = (ENV["MT_LIB_EXTRAS"] || "").split File::PATH_SEPARATOR
175
173
  self.libs[0, 0] = lib_extras
176
174
 
177
- extra_args << "-n" << ENV["N"] if ENV["N"]
178
- extra_args << "-e" << ENV["X"] if ENV["X"]
175
+ extra_args << "-i" << ENV["N"] if ENV["N"]
176
+ extra_args << "-i" << ENV["I"] if ENV["I"]
177
+ extra_args << "-x" << ENV["X"] if ENV["X"]
178
+ extra_args << "-x" << ENV["E"] if ENV["E"]
179
179
  extra_args.concat Shellwords.split(ENV["TESTOPTS"]) if ENV["TESTOPTS"]
180
180
  extra_args.concat Shellwords.split(ENV["FILTER"]) if ENV["FILTER"]
181
181
  extra_args.concat Shellwords.split(ENV["A"]) if ENV["A"]
182
182
 
183
- ENV.delete "N" if ENV["N"]
184
-
185
183
  # TODO? RUBY_DEBUG = ENV["RUBY_DEBUG"]
186
184
  # TODO? ENV["RUBY_FLAGS"]
187
185
 
@@ -189,11 +187,16 @@ module Minitest # :nodoc:
189
187
  end
190
188
 
191
189
  def define # :nodoc:
192
- desc "Run the test suite. Use N, X, A, and TESTOPTS to add flags/args."
190
+ desc "Run the test suite. Use I, X, and A to add flags/args."
193
191
  task name do
194
192
  ruby make_test_cmd, verbose: verbose
195
193
  end
196
194
 
195
+ desc "Run the test suite, filtering for 'FU' in name (focused units?)."
196
+ task "#{name}:fu" do
197
+ ruby make_test_cmd(include:"/FU/"), verbose: verbose
198
+ end
199
+
197
200
  desc "Print out the test command. Good for profiling and other tools."
198
201
  task "#{name}:cmd" do
199
202
  puts "ruby #{make_test_cmd}"
@@ -212,7 +215,7 @@ module Minitest # :nodoc:
212
215
 
213
216
  n.threads_do tests.sort do |path|
214
217
  t0 = Time.now
215
- output = `#{Gem.ruby} #{make_test_cmd path} 2>&1`
218
+ output = `#{Gem.ruby} #{make_test_cmd path:path} 2>&1`
216
219
  t1 = Time.now - t0
217
220
 
218
221
  times[path] = t1
@@ -278,7 +281,9 @@ module Minitest # :nodoc:
278
281
  ##
279
282
  # Generate the test command-line.
280
283
 
281
- def make_test_cmd globs = test_globs
284
+ def make_test_cmd **option
285
+ globs = option[:path] || test_globs
286
+
282
287
  tests = []
283
288
  tests.concat Dir[*globs].sort.shuffle # TODO: SEED -> srand first?
284
289
  tests.map! { |f| %(require "#{f}") }
@@ -289,6 +294,8 @@ module Minitest # :nodoc:
289
294
  runner.concat tests
290
295
  runner = runner.join "; "
291
296
 
297
+ extra_args << "-i" << option[:include] if option[:include]
298
+
292
299
  args = []
293
300
  args << "-I#{libs.join File::PATH_SEPARATOR}" unless libs.empty?
294
301
  args << "-w" if warning
data/lib/minitest.rb CHANGED
@@ -10,7 +10,7 @@ require_relative "minitest/compress"
10
10
  # runtime. See +Minitest.run+ for more information.
11
11
 
12
12
  module Minitest
13
- VERSION = "5.26.2" # :nodoc:
13
+ VERSION = "6.0.1" # :nodoc:
14
14
 
15
15
  @@installed_at_exit ||= false
16
16
  @@after_run = []
@@ -33,8 +33,7 @@ module Minitest
33
33
 
34
34
  cattr_accessor :parallel_executor
35
35
 
36
- warn "DEPRECATED: use MT_CPU instead of N for parallel test runs" if ENV["N"] && ENV["N"].to_i > 0
37
- n_threads = (ENV["MT_CPU"] || ENV["N"] || Etc.nprocessors).to_i
36
+ n_threads = (ENV["MT_CPU"] || Etc.nprocessors).to_i
38
37
 
39
38
  self.parallel_executor = Parallel::Executor.new n_threads if n_threads > 1
40
39
 
@@ -97,6 +96,17 @@ module Minitest
97
96
  @@after_run << block
98
97
  end
99
98
 
99
+ ##
100
+ # Manually load plugins by name.
101
+
102
+ def self.load *names
103
+ names.each do |name|
104
+ require "minitest/#{name}_plugin"
105
+
106
+ self.extensions << name.to_s
107
+ end
108
+ end
109
+
100
110
  ##
101
111
  # Register a plugin to be used. Does NOT require / load it.
102
112
 
@@ -145,22 +155,27 @@ module Minitest
145
155
  }
146
156
  orig_args = args.dup
147
157
 
158
+ warn "--no-plugins is a no-op" if args.delete "--no-plugins" # TODO: remove me! when?
159
+
148
160
  OptionParser.new do |opts|
149
161
  opts.program_name = "minitest"
150
162
  opts.version = Minitest::VERSION
151
163
 
152
164
  opts.banner = [
153
- "Usage: rake test [A=options] (see Minitest::TestTask for more options)",
154
- "minitest [paths] [options] (with minitest-sprint gem)",
155
- "ruby path/to/test.rb [options]\n\n",
165
+ "Usage: minitest [paths] [options]",
166
+ "ruby path/to/test.rb [options]",
167
+ "rake test [A=options] (see Minitest::TestTask for more options)\n\n",
156
168
  ].join "\n or: "
157
169
 
158
170
  opts.on "-h", "--help", "Display this help." do
159
171
  puts opts
160
- exit
172
+ exit! true
161
173
  end
162
174
 
163
- opts.on "--no-plugins", "Bypass minitest plugin auto-loading (or env: MT_NO_PLUGINS=1)."
175
+ opts.on "-V", "--version", "Display the version." do
176
+ puts "#{opts.program_name} #{Minitest::VERSION}"
177
+ exit! true
178
+ end
164
179
 
165
180
  desc = "Sets random seed. Also via env, eg: SEED=42"
166
181
  opts.on "-s", "--seed SEED", Integer, desc do |m|
@@ -179,8 +194,10 @@ module Minitest
179
194
  options[:show_skips] = true
180
195
  end
181
196
 
182
- opts.on "-n", "--name PATTERN", "Include /regexp/ or string for run." do |a|
183
- options[:filter] = a
197
+ opts.on "-b", "--bisect", "Run minitest in bisect-mode to isolate flaky tests."
198
+
199
+ opts.on "-i", "--include PATTERN", "Include /regexp/ or string for run." do |a|
200
+ options[:include] = a
184
201
  end
185
202
 
186
203
  opts.on "-e", "--exclude PATTERN", "Exclude /regexp/ or string from run." do |a|
@@ -192,9 +209,9 @@ module Minitest
192
209
  def opts.alias(from, to) = (dict = topdict(from) ; dict[to] = dict[from])
193
210
 
194
211
  # these will work but won't show up in --help output:
195
- opts.alias "name", "include"
196
- opts.alias "n", "i"
197
- opts.alias "e", "x"
212
+ opts.alias "include", "name"
213
+ opts.alias "i", "n"
214
+ opts.alias "e", "x"
198
215
 
199
216
  opts.on "-S", "--skip CODES", String, "Skip reporting of certain types of results (eg E)." do |s|
200
217
  options[:skip] = s.chars.to_a
@@ -265,23 +282,20 @@ module Minitest
265
282
  #
266
283
  # The overall structure of a run looks like this:
267
284
  #
285
+ # [Minitest.load_plugins] optional, called by user, or require what you want
268
286
  # Minitest.autorun
269
287
  # Minitest.run(args)
270
- # Minitest.load_plugins
271
288
  # Minitest.process_args
272
289
  # Minitest.init_plugins
273
- # Minitest.__run(reporter, options)
290
+ # Minitest.run_all_suites(reporter, options)
274
291
  # Runnable.runnables.each |runnable_klass|
275
- # runnable_klass.run(reporter, options)
276
- # filtered_methods = runnable_methods.select {...}.reject {...}
292
+ # runnable_klass.run_suite(reporter, options)
293
+ # filtered_methods = runnable_klass.filter_runnable_methods options
277
294
  # filtered_methods.each |runnable_method|
278
- # runnable_klass.run_one_method(self, runnable_method, reporter)
279
- # Minitest.run_one_method(runnable_klass, runnable_method)
280
- # runnable_klass.new(runnable_method).run
295
+ # runnable_klass.run(self, runnable_method, reporter)
296
+ # runnable_klass.new(runnable_method).run
281
297
 
282
298
  def self.run args = []
283
- self.load_plugins unless args.delete("--no-plugins") || ENV["MT_NO_PLUGINS"]
284
-
285
299
  options = process_args args
286
300
 
287
301
  Minitest.seed = options[:seed]
@@ -298,7 +312,7 @@ module Minitest
298
312
  self.parallel_executor.start if parallel_executor.respond_to? :start
299
313
  reporter.start
300
314
  begin
301
- __run reporter, options
315
+ run_all_suites reporter, options
302
316
  finished = true
303
317
  rescue Interrupt
304
318
  warn "Interrupted. Exiting..."
@@ -315,7 +329,7 @@ module Minitest
315
329
  end
316
330
 
317
331
  def self.empty_run! options # :nodoc:
318
- filter = options[:filter]
332
+ filter = options[:include]
319
333
  return true unless filter # no filter, but nothing ran == success
320
334
 
321
335
  warn "Nothing ran for filter: %s" % [filter]
@@ -334,17 +348,17 @@ module Minitest
334
348
  # Internal run method. Responsible for telling all Runnable
335
349
  # sub-classes to run.
336
350
 
337
- def self.__run reporter, options
351
+ def self.run_all_suites reporter, options
338
352
  suites = Runnable.runnables.shuffle
339
- parallel, serial = suites.partition { |s| s.test_order == :parallel }
353
+ parallel, serial = suites.partition { |s| s.run_order == :parallel }
340
354
 
341
355
  # If we run the parallel tests before the serial tests, the parallel tests
342
356
  # could run in parallel with the serial tests. This would be bad because
343
357
  # the serial tests won't lock around Reporter#record. Run the serial tests
344
358
  # first, so that after they complete, the parallel tests will lock when
345
359
  # recording results.
346
- serial.map { |suite| suite.run reporter, options } +
347
- parallel.map { |suite| suite.run reporter, options }
360
+ serial.map { |suite| suite.run_suite reporter, options } +
361
+ parallel.map { |suite| suite.run_suite reporter, options }
348
362
  end
349
363
 
350
364
  def self.filter_backtrace bt # :nodoc:
@@ -412,21 +426,30 @@ module Minitest
412
426
  reset
413
427
 
414
428
  ##
415
- # Responsible for running all runnable methods in a given class,
416
- # each in its own instance. Each instance is passed to the
417
- # reporter to record.
429
+ # Returns an array of filtered +runnable_methods+. Uses
430
+ # options[:include] (--include arguments) and options[:exclude]
431
+ # (--exclude arguments) values to filter.
418
432
 
419
- def self.run reporter, options = {}
420
- pos = options[:filter]
433
+ def self.filter_runnable_methods options={}
434
+ pos = options[:include]
421
435
  neg = options[:exclude]
422
436
 
423
437
  pos = Regexp.new $1 if pos.kind_of?(String) && pos =~ %r%/(.*)/%
424
438
  neg = Regexp.new $1 if neg.kind_of?(String) && neg =~ %r%/(.*)/%
425
439
 
426
440
  # at most 1-2% slower than a 1-pass version, stop optimizing this
427
- filtered_methods = self.runnable_methods
441
+ self.runnable_methods
428
442
  .select { |m| !pos || pos === m || pos === "#{self}##{m}" }
429
443
  .reject { |m| neg && (neg === m || neg === "#{self}##{m}") }
444
+ end
445
+
446
+ ##
447
+ # Responsible for running all runnable methods in a given class,
448
+ # each in its own instance. Each instance is passed to the
449
+ # reporter to record.
450
+
451
+ def Runnable.run_suite reporter, options = {}
452
+ filtered_methods = filter_runnable_methods options
430
453
 
431
454
  return if filtered_methods.empty?
432
455
 
@@ -441,12 +464,12 @@ module Minitest
441
464
  warn "Current: %s#%s %.2fs" % [self, name, Minitest.clock_time - t0]
442
465
  end
443
466
 
444
- with_info_handler reporter do
467
+ with_info_handler do
445
468
  filtered_methods.each do |method_name|
446
469
  name = method_name
447
470
  t0 = Minitest.clock_time
448
471
 
449
- run_one_method self, method_name, reporter
472
+ run self, method_name, reporter
450
473
  end
451
474
  end
452
475
  end
@@ -457,20 +480,20 @@ module Minitest
457
480
  # that subclasses can specialize the running of an individual
458
481
  # test. See Minitest::ParallelTest::ClassMethods for an example.
459
482
 
460
- def self.run_one_method klass, method_name, reporter
483
+ def Runnable.run klass, method_name, reporter
461
484
  reporter.prerecord klass, method_name
462
- reporter.record Minitest.run_one_method(klass, method_name)
485
+ reporter.record klass.new(method_name).run
463
486
  end
464
487
 
465
488
  ##
466
489
  # Defines the order to run tests (:random by default). Override
467
490
  # this or use a convenience method to change it for your tests.
468
491
 
469
- def self.test_order
492
+ def self.run_order
470
493
  :random
471
494
  end
472
495
 
473
- def self.with_info_handler reporter, &block # :nodoc:
496
+ def self.with_info_handler _reporter=nil, &block # :nodoc:
474
497
  on_signal ::Minitest.info_signal, @_info_handler, &block
475
498
  end
476
499
 
@@ -504,22 +527,6 @@ module Minitest
504
527
  @@runnables
505
528
  end
506
529
 
507
- @@marshal_dump_warned = false
508
-
509
- def marshal_dump # :nodoc:
510
- unless @@marshal_dump_warned then
511
- warn ["Minitest::Runnable#marshal_dump is deprecated.",
512
- "You might be violating internals. From", caller(1..1).first].join " "
513
- @@marshal_dump_warned = true
514
- end
515
-
516
- [self.name, self.failures, self.assertions, self.time]
517
- end
518
-
519
- def marshal_load ary # :nodoc:
520
- self.name, self.failures, self.assertions, self.time = ary
521
- end
522
-
523
530
  def failure # :nodoc:
524
531
  self.failures.first
525
532
  end
@@ -651,9 +658,6 @@ module Minitest
651
658
  class Result < Runnable
652
659
  include Minitest::Reportable
653
660
 
654
- undef_method :marshal_dump
655
- undef_method :marshal_load
656
-
657
661
  ##
658
662
  # The class name of the test result.
659
663
 
@@ -1013,8 +1017,7 @@ module Minitest
1013
1017
 
1014
1018
  def prerecord klass, name # :nodoc:
1015
1019
  self.reporters.each do |reporter|
1016
- # TODO: remove conditional for minitest 6
1017
- reporter.prerecord klass, name if reporter.respond_to? :prerecord
1020
+ reporter.prerecord klass, name
1018
1021
  end
1019
1022
  end
1020
1023
 
@@ -1140,16 +1143,6 @@ module Minitest
1140
1143
  "java" == platform
1141
1144
  end
1142
1145
 
1143
- ##
1144
- # Is this running on maglev?
1145
-
1146
- def maglev? platform = defined?(RUBY_ENGINE) && RUBY_ENGINE
1147
- where = Minitest.filter_backtrace(caller).first
1148
- where = where.split(":in ", 2).first # clean up noise
1149
- warn "DEPRECATED: `maglev?` called from #{where}. This will fail in Minitest 6."
1150
- "maglev" == platform
1151
- end
1152
-
1153
1146
  ##
1154
1147
  # Is this running on mri?
1155
1148
 
@@ -1164,16 +1157,6 @@ module Minitest
1164
1157
  platform.include? "darwin"
1165
1158
  end
1166
1159
 
1167
- ##
1168
- # Is this running on rubinius?
1169
-
1170
- def rubinius? platform = defined?(RUBY_ENGINE) && RUBY_ENGINE
1171
- where = Minitest.filter_backtrace(caller).first
1172
- where = where.split(":in ", 2).first # clean up noise
1173
- warn "DEPRECATED: `rubinius?` called from #{where}. This will fail in Minitest 6."
1174
- "rbx" == platform
1175
- end
1176
-
1177
1160
  ##
1178
1161
  # Is this running on windows?
1179
1162
 
@@ -1219,12 +1202,6 @@ module Minitest
1219
1202
 
1220
1203
  self.backtrace_filter = BacktraceFilter.new
1221
1204
 
1222
- def self.run_one_method klass, method_name # :nodoc:
1223
- result = klass.new(method_name).run
1224
- raise "#{klass}#run _must_ return a Result" unless Result === result
1225
- result
1226
- end
1227
-
1228
1205
  # :stopdoc:
1229
1206
 
1230
1207
  if defined? Process::CLOCK_MONOTONIC # :nodoc:
@@ -79,7 +79,7 @@ class MetaMetaMetaTestCase < Minitest::Test
79
79
  @tus.each do |tu|
80
80
  Minitest::Runnable.runnables.delete tu
81
81
 
82
- tu.run reporter, options
82
+ tu.run_suite reporter, options
83
83
  end
84
84
 
85
85
  reporter.report