From da34fba151ee33c1a2e14ab21ee0dc4ea451cc0f Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Sun, 17 Apr 2016 21:25:11 -0400 Subject: test-bot: check all dependents for broken dylibs Pulls 'brew linkage' in to main brew repo as a dev-cmd, and has test-bot use it to detect dylib breakage, which usually means a revision bump is needed. Checks all dependents, not just those with a 'test do' block defined, since we can do this without formula support. Closes #107. Signed-off-by: Andrew Janke --- Library/Homebrew/cmd/test-bot.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'Library/Homebrew/cmd') diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb index a061dd6e8..5b73be2b7 100644 --- a/Library/Homebrew/cmd/test-bot.rb +++ b/Library/Homebrew/cmd/test-bot.rb @@ -513,7 +513,8 @@ module Homebrew dependents -= @formulae dependents = dependents.map { |d| Formulary.factory(d) } - testable_dependents = dependents.select { |d| d.test_defined? && d.bottled? } + bottled_dependents = dependents.select { |d| d.bottled? } + testable_dependents = dependents.select { |d| d.bottled? && d.test_defined? } if (deps | reqs).any? { |d| d.name == "mercurial" && d.build? } run_as_not_developer { test "brew", "install", "mercurial" } @@ -592,7 +593,7 @@ module Homebrew shared_test_args = ["--verbose"] shared_test_args << "--keep-tmp" if ARGV.keep_tmp? test "brew", "test", formula_name, *shared_test_args if formula.test_defined? - testable_dependents.each do |dependent| + bottled_dependents.each do |dependent| unless dependent.installed? test "brew", "fetch", "--retry", dependent.name next if steps.last.failed? @@ -606,7 +607,10 @@ module Homebrew end end if dependent.installed? - test "brew", "test", "--verbose", dependent.name + test "brew", "linkage", "--test", dependent.name + if testable_dependents.include? dependent + test "brew", "test", "--verbose", dependent.name + end end end test "brew", "uninstall", "--force", formula_name -- cgit v1.2.3