Skip to content

Commit

Permalink
Reworked some of metametameta to be more flexible.
Browse files Browse the repository at this point in the history
[git-p4: depot-paths = "//src/minitest/dev/": change = 12355]
  • Loading branch information
zenspider committed Oct 20, 2019
1 parent c07a593 commit fe71663
Showing 1 changed file with 20 additions and 8 deletions.
28 changes: 20 additions & 8 deletions test/minitest/metametameta.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ class AnError < StandardError; include MyModule; end
class MetaMetaMetaTestCase < Minitest::Test
attr_accessor :reporter, :output, :tu

def with_stderr err
old = $stderr
$stderr = err
yield
ensure
$stderr = old
end

def run_tu_with_fresh_reporter flags = %w[--seed 42]
options = Minitest.process_args flags

Expand All @@ -34,18 +42,20 @@ def run_tu_with_fresh_reporter flags = %w[--seed 42]
reporter << Minitest::SummaryReporter.new(@output, options)
reporter << Minitest::ProgressReporter.new(@output, options)

reporter.start
with_stderr @output do
reporter.start

yield(reporter) if block_given?
yield(reporter) if block_given?

@tus ||= [@tu]
@tus.each do |tu|
Minitest::Runnable.runnables.delete tu
@tus ||= [@tu]
@tus.each do |tu|
Minitest::Runnable.runnables.delete tu

tu.run reporter, options
end
tu.run reporter, options
end

reporter.report
reporter.report
end
end

def first_reporter
Expand Down Expand Up @@ -84,6 +94,8 @@ def normalize_output output
output.gsub!(/^(\s+)[^:]+:\d+:in/, '\1FILE:LINE:in')
end

output.gsub!(/( at )[^:]+:\d+/, '\1[FILE:LINE]')

output
end

Expand Down

0 comments on commit fe71663

Please sign in to comment.