aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rwxr-xr-xLibrary/Contributions/cmd/brew-test-bot.rb34
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?