From 407b82406f55d8d15a157be9f30440ef4640141f Mon Sep 17 00:00:00 2001 From: "Tim D. Smith" Date: Mon, 6 Apr 2015 23:23:55 -0700 Subject: [PATCH] test-bot: don't check deps until taps are tapped brew deps will fail silently if a formula has dependencies which live in taps that have not yet been tapped. Delay checking brew deps until after tap dependencies are discovered. Closes Homebrew/homebrew#38424. --- Library/Homebrew/cmd/test-bot.rb | 37 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb index 291f7e78a7..fa7737acf7 100644 --- a/Library/Homebrew/cmd/test-bot.rb +++ b/Library/Homebrew/cmd/test-bot.rb @@ -366,24 +366,6 @@ module Homebrew end test "brew", "uses", canonical_formula_name - installed = Utils.popen_read("brew", "list").split("\n") - dependencies = Utils.popen_read("brew", "deps", "--skip-optional", - canonical_formula_name).split("\n") - dependencies -= installed - unchanged_dependencies = dependencies - @formulae - changed_dependences = dependencies - unchanged_dependencies - - runtime_dependencies = Utils.popen_read("brew", "deps", - "--skip-build", "--skip-optional", - canonical_formula_name).split("\n") - build_dependencies = dependencies - runtime_dependencies - unchanged_build_dependencies = build_dependencies - @formulae - - dependents = Utils.popen_read("brew", "uses", "--skip-build", "--skip-optional", canonical_formula_name).split("\n") - dependents -= @formulae - dependents = dependents.map {|d| Formulary.factory(d)} - - testable_dependents = dependents.select { |d| d.test_defined? && d.bottled? } formula = Formulary.factory(canonical_formula_name) installed_gcc = false @@ -426,6 +408,25 @@ module Homebrew return end + installed = Utils.popen_read("brew", "list").split("\n") + dependencies = Utils.popen_read("brew", "deps", "--skip-optional", + canonical_formula_name).split("\n") + dependencies -= installed + unchanged_dependencies = dependencies - @formulae + changed_dependences = dependencies - unchanged_dependencies + + runtime_dependencies = Utils.popen_read("brew", "deps", + "--skip-build", "--skip-optional", + canonical_formula_name).split("\n") + build_dependencies = dependencies - runtime_dependencies + unchanged_build_dependencies = build_dependencies - @formulae + + dependents = Utils.popen_read("brew", "uses", "--skip-build", "--skip-optional", canonical_formula_name).split("\n") + dependents -= @formulae + dependents = dependents.map {|d| Formulary.factory(d)} + + testable_dependents = dependents.select { |d| d.test_defined? && d.bottled? } + if (deps | reqs).any? { |d| d.name == "mercurial" && d.build? } test "brew", "install", "mercurial" end