diff options
| author | Mike McQuaid | 2012-03-15 10:57:34 +1300 |
|---|---|---|
| committer | Mike McQuaid | 2012-03-29 18:44:37 +1100 |
| commit | 48a82e5f023bfc3605306156d7eaa4e029d2d8ea (patch) | |
| tree | 2c83c0be983a12bf2874e6cc2e911186c478b5fb /Library | |
| parent | c6d37fb2372e75108edfb6b036fe0a773cd38213 (diff) | |
| download | homebrew-48a82e5f023bfc3605306156d7eaa4e029d2d8ea.tar.bz2 | |
Exit with bad exit code on command failures.
Diffstat (limited to 'Library')
| -rwxr-xr-x | Library/Homebrew/cmd/audit.rb | 2 | ||||
| -rwxr-xr-x | Library/Homebrew/cmd/bottle.rb | 12 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/doctor.rb | 9 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/install.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/test.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/uninstall.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/upgrade.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/global.rb | 3 |
8 files changed, 25 insertions, 10 deletions
diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index 8c604ba56..84054925c 100755 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -420,7 +420,7 @@ module Homebrew extend self if errors puts "#{problem_count} problems in #{brew_count} brews" - exit 1 + Homebrew.failed = true end end end diff --git a/Library/Homebrew/cmd/bottle.rb b/Library/Homebrew/cmd/bottle.rb index b226d3c37..604df4503 100755 --- a/Library/Homebrew/cmd/bottle.rb +++ b/Library/Homebrew/cmd/bottle.rb @@ -4,8 +4,16 @@ require 'tab' module Homebrew extend self def bottle_formula f - return onoe "Formula not installed: #{f.name}" unless f.installed? - return onoe "Formula not installed with '--build-bottle': #{f.name}" unless built_bottle? f + unless f.installed? + onoe "Formula not installed: #{f.name}" + Homebrew.failed = true + return + end + + unless built_bottle? f + onoe "Formula not installed with '--build-bottle': #{f.name}" + Homebrew.failed = true + end directory = Pathname.pwd filename = bottle_filename f diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index a8f85d444..632819e96 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -879,22 +879,19 @@ end # end class Checks module Homebrew extend self def doctor - raring_to_brew = true - checks = Checks.new checks.methods.select{ |method| method =~ /^check_/ }.sort.each do |method| out = checks.send(method) unless out.nil? or out.empty? - puts unless raring_to_brew + puts unless Homebrew.failed? lines = out.to_s.split('\n') opoo lines.shift puts lines - raring_to_brew = false + Homebrew.failed = true end end - puts "Your system is raring to brew." if raring_to_brew - exit raring_to_brew ? 0 : 1 + puts "Your system is raring to brew." unless Homebrew.failed? end end diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index e4ffe3268..ed5826da0 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -77,6 +77,7 @@ module Homebrew extend self fi.finish rescue CannotInstallFormulaError => e onoe e.message + Homebrew.failed = true end end end diff --git a/Library/Homebrew/cmd/test.rb b/Library/Homebrew/cmd/test.rb index 9b3e93adf..af774f7e6 100644 --- a/Library/Homebrew/cmd/test.rb +++ b/Library/Homebrew/cmd/test.rb @@ -13,21 +13,24 @@ module Homebrew extend self # Cannot test uninstalled formulae unless f.installed? puts "#{f.name} not installed" + Homebrew.failed = true next end # Cannot test formulae without a test method unless f.respond_to? :test puts "#{f.name} defines no test" + Homebrew.failed = true next end puts "Testing #{f.name}" begin # tests can also return false to indicate failure - puts "#{f.name}: failed" if f.test == false + raise if f.test == false rescue puts "#{f.name}: failed" + Homebrew.failed = true end end end diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb index cddb8ac65..ce719a3e9 100644 --- a/Library/Homebrew/cmd/uninstall.rb +++ b/Library/Homebrew/cmd/uninstall.rb @@ -35,5 +35,6 @@ module Homebrew extend self rescue MultipleVersionsInstalledError => e onoe e puts "Use `brew remove --force #{e.name}` to remove all versions." + Homebrew.failed = true end end diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index 671188a3c..7b63e8039 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -67,9 +67,11 @@ module Homebrew extend self installer.finish rescue CannotInstallFormulaError => e onoe e + Homebrew.failed = true rescue BuildError => e e.dump puts + Homebrew.failed = true ensure # restore previous installation state if build failed outdated_keg.link if outdated_keg and not f.installed? rescue nil diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index b29ab0ff9..92560859c 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -79,6 +79,9 @@ HOMEBREW_CURL_ARGS = '-qf#LA' require 'fileutils' module Homebrew extend self include FileUtils + + attr_accessor :failed + alias_method :failed?, :failed end FORMULA_META_FILES = %w[README README.md ChangeLog CHANGES COPYING LICENSE LICENCE COPYRIGHT AUTHORS] |
