From 89a0984d4206d5af25d2badfc3fe3a2bf0a9971f Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 20 May 2020 12:24:54 +0100 Subject: [PATCH] formula_installer: fix :test requirement expansion. --- Library/Homebrew/formula_installer.rb | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 691432ff5c..c70cf2c6ab 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -457,12 +457,18 @@ class FormulaInstaller Requirement.prune elsif req.satisfied? Requirement.prune - elsif include_test? && req.test? - next - elsif !runtime_requirements.include?(req) && install_bottle_for_dependent - Requirement.prune - elsif (dep = formula_deps_map[dependent.name]) && dep.build? - Requirement.prune + elsif req.test? || req.build? + keep = false + keep ||= runtime_requirements.include?(req) + keep ||= req.test? && include_test? && dependent == f + keep ||= req.build? && !install_bottle_for_dependent + keep ||= (dep = formula_deps_map[dependent.name]) && !dep.build? + + if keep + unsatisfied_reqs[dependent] << req + else + Requirement.prune + end else unsatisfied_reqs[dependent] << req end