brew-test-bot: handle failing devel requirements.
This commit is contained in:
parent
116c2b06a8
commit
ec852045b1
@ -249,6 +249,28 @@ class Test
|
||||
puts "#{Tty.blue}==>#{Tty.white} SKIPPING: #{formula}#{Tty.reset}"
|
||||
end
|
||||
|
||||
def satisfied_requirements? formula_object, spec=:stable
|
||||
requirements = if spec == :stable
|
||||
formula_object.recursive_requirements
|
||||
else
|
||||
formula_object.send(spec).requirements
|
||||
end
|
||||
|
||||
unsatisfied_requirements = requirements.reject do |requirement|
|
||||
requirement.satisfied? || requirement.default_formula?
|
||||
end
|
||||
|
||||
if unsatisfied_requirements.empty?
|
||||
true
|
||||
else
|
||||
formula = formula_object.name
|
||||
formula += " (#{spec})" unless spec == :stable
|
||||
skip formula
|
||||
unsatisfied_requirements.each {|r| puts r.message}
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
def setup
|
||||
@category = __method__
|
||||
return if ARGV.include? "--skip-setup"
|
||||
@ -265,13 +287,7 @@ class Test
|
||||
dependencies -= `brew list`.split("\n")
|
||||
dependencies = dependencies.join(' ')
|
||||
formula_object = Formula.factory(formula)
|
||||
requirements = formula_object.recursive_requirements
|
||||
unsatisfied_requirements = requirements.reject {|r| r.satisfied? or r.default_formula?}
|
||||
unless unsatisfied_requirements.empty?
|
||||
skip formula
|
||||
unsatisfied_requirements.each {|r| puts r.message}
|
||||
return
|
||||
end
|
||||
return unless satisfied_requirements? formula_object
|
||||
|
||||
installed_gcc = false
|
||||
begin
|
||||
@ -314,7 +330,9 @@ class Test
|
||||
test "brew test --verbose #{formula}" if formula_object.test_defined?
|
||||
test "brew uninstall --force #{formula}"
|
||||
end
|
||||
if formula_object.devel and not ARGV.include? '--HEAD'
|
||||
|
||||
if formula_object.devel && !ARGV.include?('--HEAD') \
|
||||
&& satisfied_requirements?(formula_object, :devel)
|
||||
test "brew fetch --retry --devel#{formula_fetch_options} #{formula}"
|
||||
test "brew install --devel --verbose #{formula}"
|
||||
devel_install_passed = steps.last.passed?
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user