File tree Expand file tree Collapse file tree 2 files changed +14
-10
lines changed Expand file tree Collapse file tree 2 files changed +14
-10
lines changed Original file line number Diff line number Diff line change @@ -161,14 +161,18 @@ def now
161
161
self . fake_time = nil
162
162
end
163
163
164
- def capture_stderr
165
- # The output stream must be an IO-like object. In this case we capture it in
166
- # an in-memory IO object so we can return the string value. You can assign any
167
- # IO object here.
168
- previous_stderr , $stderr = $stderr, StringIO . new
164
+ # From minitest/unit
165
+ def capture_io
166
+ require 'stringio'
167
+
168
+ orig_stdout , orig_stderr = $stdout, $stderr
169
+ captured_stdout , captured_stderr = StringIO . new , StringIO . new
170
+ $stdout, $stderr = captured_stdout , captured_stderr
171
+
169
172
yield
170
- $stderr. string
173
+
174
+ return captured_stdout . string , captured_stderr . string
171
175
ensure
172
- # Restore the previous value of stderr (typically equal to STDERR).
173
- $stderr = previous_stderr
176
+ $stdout = orig_stdout
177
+ $stderr = orig_stderr
174
178
end
Original file line number Diff line number Diff line change @@ -642,14 +642,14 @@ def self.perform( run_time, rescue_time=nil )
642
642
end
643
643
644
644
test "displays warning when not using term_child" do
645
- stderr = capture_stderr { @worker . work ( 0 ) }
645
+ stdout , stderr = capture_io { @worker . work ( 0 ) }
646
646
647
647
assert stderr . match ( /^WARNING:/ )
648
648
end
649
649
650
650
test "it does not display warning when using term_child" do
651
651
@worker . term_child = "1"
652
- stderr = capture_stderr { @worker . work ( 0 ) }
652
+ stdout , stderr = capture_io { @worker . work ( 0 ) }
653
653
654
654
assert !stderr . match ( /^WARNING:/ )
655
655
end
You can’t perform that action at this time.
0 commit comments