From 39e9506557aa584de5152528871728a2728685c7 Mon Sep 17 00:00:00 2001 From: Markus Reiter <me@reitermark.us> Date: Sun, 21 Aug 2016 04:48:35 +0200 Subject: [PATCH] Refactor `shutup`. --- Library/Homebrew/cask/spec/spec_helper.rb | 4 +++- .../cask/spec/support/shutup_helper.rb | 18 -------------- Library/Homebrew/cask/test/test_helper.rb | 19 ++------------- Library/Homebrew/test/helper/shutup.rb | 24 +++++++++++++++++++ Library/Homebrew/test/testing_env.rb | 19 +++------------ 5 files changed, 32 insertions(+), 52 deletions(-) delete mode 100644 Library/Homebrew/cask/spec/support/shutup_helper.rb create mode 100644 Library/Homebrew/test/helper/shutup.rb diff --git a/Library/Homebrew/cask/spec/spec_helper.rb b/Library/Homebrew/cask/spec/spec_helper.rb index e86e200274..a826cfcf01 100644 --- a/Library/Homebrew/cask/spec/spec_helper.rb +++ b/Library/Homebrew/cask/spec/spec_helper.rb @@ -22,6 +22,8 @@ $LOAD_PATH.push(project_root.join("lib").to_s) ENV["HOMEBREW_NO_EMOJI"] = "1" ENV["HOMEBREW_CASK_OPTS"] = nil +require "test/helper/shutup" + Dir["#{project_root}/spec/support/*.rb"].each(&method(:require)) # from Homebrew. Provides expects method. @@ -63,5 +65,5 @@ Hbc.caskroom = Hbc.homebrew_prefix.join("TestCaskroom") RSpec.configure do |config| config.order = :random - config.include ShutupHelper + config.include(Test::Helper::Shutup) end diff --git a/Library/Homebrew/cask/spec/support/shutup_helper.rb b/Library/Homebrew/cask/spec/support/shutup_helper.rb deleted file mode 100644 index 98dde01a65..0000000000 --- a/Library/Homebrew/cask/spec/support/shutup_helper.rb +++ /dev/null @@ -1,18 +0,0 @@ -module ShutupHelper - def shutup - if ENV.key?("VERBOSE_TESTS") - yield - else - begin - tmperr = $stderr.clone - tmpout = $stdout.clone - $stderr.reopen "/dev/null", "w" - $stdout.reopen "/dev/null", "w" - yield - ensure - $stderr.reopen tmperr - $stdout.reopen tmpout - end - end - end -end diff --git a/Library/Homebrew/cask/test/test_helper.rb b/Library/Homebrew/cask/test/test_helper.rb index 528ca69cf8..fdbd8af0e2 100644 --- a/Library/Homebrew/cask/test/test_helper.rb +++ b/Library/Homebrew/cask/test/test_helper.rb @@ -23,23 +23,8 @@ $LOAD_PATH.push(project_root.join("lib").to_s) ENV["HOMEBREW_NO_EMOJI"] = "1" ENV["HOMEBREW_CASK_OPTS"] = nil -# TODO: temporary, copied from old Homebrew, this method is now moved inside a class -def shutup - if ENV.key?("VERBOSE_TESTS") - yield - else - begin - tmperr = $stderr.clone - tmpout = $stdout.clone - $stderr.reopen "/dev/null", "w" - $stdout.reopen "/dev/null", "w" - yield - ensure - $stderr.reopen tmperr - $stdout.reopen tmpout - end - end -end +require "test/helper/shutup" +include Test::Helper::Shutup def sudo(*args) %w[/usr/bin/sudo -E --] + Array(args).flatten diff --git a/Library/Homebrew/test/helper/shutup.rb b/Library/Homebrew/test/helper/shutup.rb new file mode 100644 index 0000000000..fa5f08d31e --- /dev/null +++ b/Library/Homebrew/test/helper/shutup.rb @@ -0,0 +1,24 @@ +module Test + module Helper + module Shutup + def shutup + if ENV.key?("VERBOSE_TESTS") + yield + else + begin + tmperr = $stderr.clone + tmpout = $stdout.clone + $stderr.reopen("/dev/null") + $stdout.reopen("/dev/null") + yield + ensure + $stderr.reopen(tmperr) + $stdout.reopen(tmpout) + tmperr.close + tmpout.close + end + end + end + end + end +end diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index e5ce1851ef..5d464b8cc8 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -63,6 +63,9 @@ module Homebrew end class TestCase < ::Minitest::Test + require "test/helper/shutup" + include Test::Helper::Shutup + include VersionAssertions include FSLeakLogger @@ -73,22 +76,6 @@ module Homebrew @_f = Class.new(Formula, &block).new(name, path, spec) end - def shutup - err = $stderr.dup - out = $stdout.dup - - begin - $stderr.reopen("/dev/null") - $stdout.reopen("/dev/null") - yield - ensure - $stderr.reopen(err) - $stdout.reopen(out) - err.close - out.close - end - end - def mktmpdir(prefix_suffix = nil, &block) Dir.mktmpdir(prefix_suffix, HOMEBREW_TEMP, &block) end -- GitLab