diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb index c63f45f97e..f9fd51a250 100644 --- a/Library/Homebrew/build.rb +++ b/Library/Homebrew/build.rb @@ -52,6 +52,8 @@ class Build Requirement.prune elsif req.prune_if_build_and_not_dependent?(dependent, formula) Requirement.prune + elsif req.test? + Requirement.prune end end end @@ -65,6 +67,8 @@ class Build Dependency.prune elsif dep.build? Dependency.keep_but_prune_recursive_deps + elsif dep.test? + Dependency.prune end end end diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 20917292fc..affeae46ef 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -488,10 +488,11 @@ class FormulaInstaller if dep.prune_from_option?(build) Dependency.prune - elsif dep.test? && !dep.build? && !include_test? - Dependency.prune - elsif dep.build? && !dep.test? && install_bottle_for?(dependent, build) - Dependency.prune + elsif dep.test? || (dep.build? && install_bottle_for?(dependent, build)) + keep = false + keep ||= dep.test? && include_test? && dependent == formula + keep ||= dep.build? && !install_bottle_for?(dependent, build) + Dependency.prune unless keep elsif dep.prune_if_build_and_not_dependent?(dependent) Dependency.prune elsif dep.satisfied?(inherited_options[dep.name])