diff options
| author | Mike McQuaid | 2014-04-30 13:07:06 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2014-04-30 13:07:06 +0100 |
| commit | ec852045b14029557e6d27d91e5eab8167803397 (patch) | |
| tree | b37bcbf3be03ec20a6327c859e38e9303af90cbc /Library | |
| parent | 116c2b06a8587fdcb32ae55576f31082bd71da95 (diff) | |
| download | brew-ec852045b14029557e6d27d91e5eab8167803397.tar.bz2 | |
brew-test-bot: handle failing devel requirements.
Diffstat (limited to 'Library')
| -rwxr-xr-x | Library/Contributions/cmd/brew-test-bot.rb | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/Library/Contributions/cmd/brew-test-bot.rb b/Library/Contributions/cmd/brew-test-bot.rb index 8d0a7d197..9832693c8 100755 --- a/Library/Contributions/cmd/brew-test-bot.rb +++ b/Library/Contributions/cmd/brew-test-bot.rb @@ -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? |
