From 541fecea22eaab3c6b000f568fa979d3db32256a Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Thu, 17 Sep 2020 13:05:01 +0100 Subject: [PATCH] test: check for pgrep/pkill for developers/CI. If people are running `brew test` but don't have `pgrep` or `pkill` installed the forked processes may never be killed. This is not a big deal on a user's machine but on CI may make a job block and never complete/timeout successfully. --- Library/Homebrew/test.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Library/Homebrew/test.rb b/Library/Homebrew/test.rb index 4c2b1455f5..fc09ba2e9f 100644 --- a/Library/Homebrew/test.rb +++ b/Library/Homebrew/test.rb @@ -24,6 +24,11 @@ begin trap("INT", old_trap) + if Homebrew::EnvConfig.developer? || ENV["CI"].present? + raise "cannot find child processes without `pgrep`, please install!" unless which("pgrep") + raise "cannot kill child processes without `pkill`, please install!" unless which("pkill") + end + formula = args.named.to_resolved_formulae.first formula.extend(Homebrew::Assertions) formula.extend(Homebrew::FreePort)