From c2dfcf913dce93fdb1324a86718cde3803c24632 Mon Sep 17 00:00:00 2001 From: "Tim D. Smith" Date: Mon, 24 Aug 2015 14:41:56 -0700 Subject: [PATCH] test-bot: don't consider optional deps for compiler selection Fixes test-bot mishandling of optional cross-tap dependencies. Without this change, since formula.stable.deps includes the optional dependencies but formula.recursive_dependencies does not, test-bot was trying to select a compiler for an untapped formula, which raised an error. Our suspect handling of optional dependencies was exposed by Homebrew/homebrew#43145 / 7184348e822d6745d8a103de104ff9626536bf1e. Closes Homebrew/homebrew#43237. --- Library/Homebrew/cmd/test-bot.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb index 506e50af22..dfeea0ad6b 100644 --- a/Library/Homebrew/cmd/test-bot.rb +++ b/Library/Homebrew/cmd/test-bot.rb @@ -398,19 +398,19 @@ module Homebrew if formula.stable return unless satisfied_requirements?(formula, :stable) - deps |= formula.stable.deps.to_a - reqs |= formula.stable.requirements.to_a + deps |= formula.stable.deps.to_a.reject(&:optional?) + reqs |= formula.stable.requirements.to_a.reject(&:optional?) elsif formula.devel return unless satisfied_requirements?(formula, :devel) end if formula.devel && !ARGV.include?("--HEAD") - deps |= formula.devel.deps.to_a - reqs |= formula.devel.requirements.to_a + deps |= formula.devel.deps.to_a.reject(&:optional?) + reqs |= formula.devel.requirements.to_a.reject(&:optional?) end begin - formula.recursive_dependencies + deps.each { |d| d.to_formula.recursive_dependencies } rescue TapFormulaUnavailableError => e raise if e.tap.installed? safe_system "brew", "tap", e.tap.name