[ruby/fileutils] Make verbose output go to stdout instead of stderr

Verbose output is not error output, and should be sent to
stdout and not stderr.

Fixes Ruby bug 4436

https://github.com/ruby/fileutils/commit/563a383025
This commit is contained in:
Jeremy Evans 2020-03-09 09:42:40 -07:00 committed by Nobuyoshi Nakada
parent e2678781c7
commit 7cddb844e6
2 changed files with 6 additions and 6 deletions

View File

@ -1615,7 +1615,7 @@ module FileUtils
def fu_output_message(msg) #:nodoc: def fu_output_message(msg) #:nodoc:
output = @fileutils_output if defined?(@fileutils_output) output = @fileutils_output if defined?(@fileutils_output)
output ||= $stderr output ||= $stdout
if defined?(@fileutils_label) if defined?(@fileutils_label)
msg = @fileutils_label + msg msg = @fileutils_label + msg
end end

View File

@ -1720,16 +1720,16 @@ class TestFileUtils < Test::Unit::TestCase
o.extend(FileUtils) o.extend(FileUtils)
o.singleton_class.send(:public, :chdir) o.singleton_class.send(:public, :chdir)
o.freeze o.freeze
orig_stderr = $stderr orig_stdout = $stdout
$stderr = StringIO.new $stdout = StringIO.new
o.chdir('.', verbose: true){} o.chdir('.', verbose: true){}
$stderr.rewind $stdout.rewind
assert_equal(<<-END, $stderr.read) assert_equal(<<-END, $stdout.read)
cd . cd .
cd - cd -
END END
ensure ensure
$stderr = orig_stderr if orig_stderr $stdout = orig_stdout if orig_stdout
end end
def test_getwd def test_getwd