Exit with bad exit code on command failures.
This commit is contained in:
parent
61444ee3a6
commit
0cbdeeaa3c
@ -420,7 +420,7 @@ module Homebrew extend self
|
|||||||
|
|
||||||
if errors
|
if errors
|
||||||
puts "#{problem_count} problems in #{brew_count} brews"
|
puts "#{problem_count} problems in #{brew_count} brews"
|
||||||
exit 1
|
Homebrew.failed = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -4,8 +4,16 @@ require 'tab'
|
|||||||
|
|
||||||
module Homebrew extend self
|
module Homebrew extend self
|
||||||
def bottle_formula f
|
def bottle_formula f
|
||||||
return onoe "Formula not installed: #{f.name}" unless f.installed?
|
unless f.installed?
|
||||||
return onoe "Formula not installed with '--build-bottle': #{f.name}" unless built_bottle? f
|
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
|
directory = Pathname.pwd
|
||||||
filename = bottle_filename f
|
filename = bottle_filename f
|
||||||
|
@ -879,22 +879,19 @@ end # end class Checks
|
|||||||
|
|
||||||
module Homebrew extend self
|
module Homebrew extend self
|
||||||
def doctor
|
def doctor
|
||||||
raring_to_brew = true
|
|
||||||
|
|
||||||
checks = Checks.new
|
checks = Checks.new
|
||||||
|
|
||||||
checks.methods.select{ |method| method =~ /^check_/ }.sort.each do |method|
|
checks.methods.select{ |method| method =~ /^check_/ }.sort.each do |method|
|
||||||
out = checks.send(method)
|
out = checks.send(method)
|
||||||
unless out.nil? or out.empty?
|
unless out.nil? or out.empty?
|
||||||
puts unless raring_to_brew
|
puts unless Homebrew.failed?
|
||||||
lines = out.to_s.split('\n')
|
lines = out.to_s.split('\n')
|
||||||
opoo lines.shift
|
opoo lines.shift
|
||||||
puts lines
|
puts lines
|
||||||
raring_to_brew = false
|
Homebrew.failed = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
puts "Your system is raring to brew." if raring_to_brew
|
puts "Your system is raring to brew." unless Homebrew.failed?
|
||||||
exit raring_to_brew ? 0 : 1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -77,6 +77,7 @@ module Homebrew extend self
|
|||||||
fi.finish
|
fi.finish
|
||||||
rescue CannotInstallFormulaError => e
|
rescue CannotInstallFormulaError => e
|
||||||
onoe e.message
|
onoe e.message
|
||||||
|
Homebrew.failed = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -13,21 +13,24 @@ module Homebrew extend self
|
|||||||
# Cannot test uninstalled formulae
|
# Cannot test uninstalled formulae
|
||||||
unless f.installed?
|
unless f.installed?
|
||||||
puts "#{f.name} not installed"
|
puts "#{f.name} not installed"
|
||||||
|
Homebrew.failed = true
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|
||||||
# Cannot test formulae without a test method
|
# Cannot test formulae without a test method
|
||||||
unless f.respond_to? :test
|
unless f.respond_to? :test
|
||||||
puts "#{f.name} defines no test"
|
puts "#{f.name} defines no test"
|
||||||
|
Homebrew.failed = true
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|
||||||
puts "Testing #{f.name}"
|
puts "Testing #{f.name}"
|
||||||
begin
|
begin
|
||||||
# tests can also return false to indicate failure
|
# tests can also return false to indicate failure
|
||||||
puts "#{f.name}: failed" if f.test == false
|
raise if f.test == false
|
||||||
rescue
|
rescue
|
||||||
puts "#{f.name}: failed"
|
puts "#{f.name}: failed"
|
||||||
|
Homebrew.failed = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -35,5 +35,6 @@ module Homebrew extend self
|
|||||||
rescue MultipleVersionsInstalledError => e
|
rescue MultipleVersionsInstalledError => e
|
||||||
onoe e
|
onoe e
|
||||||
puts "Use `brew remove --force #{e.name}` to remove all versions."
|
puts "Use `brew remove --force #{e.name}` to remove all versions."
|
||||||
|
Homebrew.failed = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -67,9 +67,11 @@ module Homebrew extend self
|
|||||||
installer.finish
|
installer.finish
|
||||||
rescue CannotInstallFormulaError => e
|
rescue CannotInstallFormulaError => e
|
||||||
onoe e
|
onoe e
|
||||||
|
Homebrew.failed = true
|
||||||
rescue BuildError => e
|
rescue BuildError => e
|
||||||
e.dump
|
e.dump
|
||||||
puts
|
puts
|
||||||
|
Homebrew.failed = true
|
||||||
ensure
|
ensure
|
||||||
# restore previous installation state if build failed
|
# restore previous installation state if build failed
|
||||||
outdated_keg.link if outdated_keg and not f.installed? rescue nil
|
outdated_keg.link if outdated_keg and not f.installed? rescue nil
|
||||||
|
@ -79,6 +79,9 @@ HOMEBREW_CURL_ARGS = '-qf#LA'
|
|||||||
require 'fileutils'
|
require 'fileutils'
|
||||||
module Homebrew extend self
|
module Homebrew extend self
|
||||||
include FileUtils
|
include FileUtils
|
||||||
|
|
||||||
|
attr_accessor :failed
|
||||||
|
alias_method :failed?, :failed
|
||||||
end
|
end
|
||||||
|
|
||||||
FORMULA_META_FILES = %w[README README.md ChangeLog CHANGES COPYING LICENSE LICENCE COPYRIGHT AUTHORS]
|
FORMULA_META_FILES = %w[README README.md ChangeLog CHANGES COPYING LICENSE LICENCE COPYRIGHT AUTHORS]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user