diff options
| author | Tim D. Smith | 2015-08-24 14:41:56 -0700 |
|---|---|---|
| committer | Tim D. Smith | 2015-08-27 00:27:31 -0700 |
| commit | c2dfcf913dce93fdb1324a86718cde3803c24632 (patch) | |
| tree | b849b1d94a5d193f9cf5d74253fd0ba0730e8829 /Library | |
| parent | c992749986a949e84b62dcc4070751652d355b31 (diff) | |
| download | brew-c2dfcf913dce93fdb1324a86718cde3803c24632.tar.bz2 | |
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.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/test-bot.rb | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb index 506e50af2..dfeea0ad6 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 |
