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
161161 self . fake_time = nil
162162end
163163
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+
169172 yield
170- $stderr. string
173+
174+ return captured_stdout . string , captured_stderr . string
171175ensure
172- # Restore the previous value of stderr (typically equal to STDERR).
173- $stderr = previous_stderr
176+ $stdout = orig_stdout
177+ $stderr = orig_stderr
174178end
Original file line number Diff line number Diff line change @@ -642,14 +642,14 @@ def self.perform( run_time, rescue_time=nil )
642642 end
643643
644644 test "displays warning when not using term_child" do
645- stderr = capture_stderr { @worker . work ( 0 ) }
645+ stdout , stderr = capture_io { @worker . work ( 0 ) }
646646
647647 assert stderr . match ( /^WARNING:/ )
648648 end
649649
650650 test "it does not display warning when using term_child" do
651651 @worker . term_child = "1"
652- stderr = capture_stderr { @worker . work ( 0 ) }
652+ stdout , stderr = capture_io { @worker . work ( 0 ) }
653653
654654 assert !stderr . match ( /^WARNING:/ )
655655 end
You can’t perform that action at this time.
0 commit comments