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}"
|
puts "#{Tty.blue}==>#{Tty.white} SKIPPING: #{formula}#{Tty.reset}"
|
||||||
end
|
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
|
def setup
|
||||||
@category = __method__
|
@category = __method__
|
||||||
return if ARGV.include? "--skip-setup"
|
return if ARGV.include? "--skip-setup"
|
||||||
@ -265,13 +287,7 @@ class Test
|
|||||||
dependencies -= `brew list`.split("\n")
|
dependencies -= `brew list`.split("\n")
|
||||||
dependencies = dependencies.join(' ')
|
dependencies = dependencies.join(' ')
|
||||||
formula_object = Formula.factory(formula)
|
formula_object = Formula.factory(formula)
|
||||||
requirements = formula_object.recursive_requirements
|
return unless satisfied_requirements? formula_object
|
||||||
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
|
|
||||||
|
|
||||||
installed_gcc = false
|
installed_gcc = false
|
||||||
begin
|
begin
|
||||||
@ -314,7 +330,9 @@ class Test
|
|||||||
test "brew test --verbose #{formula}" if formula_object.test_defined?
|
test "brew test --verbose #{formula}" if formula_object.test_defined?
|
||||||
test "brew uninstall --force #{formula}"
|
test "brew uninstall --force #{formula}"
|
||||||
end
|
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 fetch --retry --devel#{formula_fetch_options} #{formula}"
|
||||||
test "brew install --devel --verbose #{formula}"
|
test "brew install --devel --verbose #{formula}"
|
||||||
devel_install_passed = steps.last.passed?
|
devel_install_passed = steps.last.passed?
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user