Skip to content

Commit fe71663

Browse files
committed
Reworked some of metametameta to be more flexible.
[git-p4: depot-paths = "//src/minitest/dev/": change = 12355]
1 parent c07a593 commit fe71663

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

test/minitest/metametameta.rb

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ class AnError < StandardError; include MyModule; end
2525
class MetaMetaMetaTestCase < Minitest::Test
2626
attr_accessor :reporter, :output, :tu
2727

28+
def with_stderr err
29+
old = $stderr
30+
$stderr = err
31+
yield
32+
ensure
33+
$stderr = old
34+
end
35+
2836
def run_tu_with_fresh_reporter flags = %w[--seed 42]
2937
options = Minitest.process_args flags
3038

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

37-
reporter.start
45+
with_stderr @output do
46+
reporter.start
3847

39-
yield(reporter) if block_given?
48+
yield(reporter) if block_given?
4049

41-
@tus ||= [@tu]
42-
@tus.each do |tu|
43-
Minitest::Runnable.runnables.delete tu
50+
@tus ||= [@tu]
51+
@tus.each do |tu|
52+
Minitest::Runnable.runnables.delete tu
4453

45-
tu.run reporter, options
46-
end
54+
tu.run reporter, options
55+
end
4756

48-
reporter.report
57+
reporter.report
58+
end
4959
end
5060

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

97+
output.gsub!(/( at )[^:]+:\d+/, '\1[FILE:LINE]')
98+
8799
output
88100
end
89101

0 commit comments

Comments
 (0)