# [PATCH] p7519: improve check for prerequisite WATCHMAN

2 messages from 2017-12-16 to 2017-12-18. Participants: René Scharfe, Ben Peart.
Thread: https://gitlist.dev/t/47452

## René Scharfe, 2017-12-16 12:12

Subject: [PATCH] p7519: improve check for prerequisite WATCHMAN
Message-ID: <fb8f1b3b-3668-db21-993c-087aee279936@web.de>
URL: https://gitlist.dev/e/fb8f1b3b-3668-db21-993c-087aee279936%40web.de

```
The return code of command -v with a non-existing command is 1 in bash
and 127 in dash.  Use that return code directly to allow the script to
work with dash and without watchman (e.g. on Debian).

While at it stop redirecting the output.  stderr is redirected to
/dev/null by test_lazy_prereq already, and stdout can actually be 
useful -- the path of the found watchman executable is sent there, but
it's shown only if the script was run with --verbose.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
---
 t/perf/p7519-fsmonitor.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/t/perf/p7519-fsmonitor.sh b/t/perf/p7519-fsmonitor.sh
index 16d1bf72e5..65e145c02d 100755
--- a/t/perf/p7519-fsmonitor.sh
+++ b/t/perf/p7519-fsmonitor.sh
@@ -40,8 +40,7 @@ test_lazy_prereq UNTRACKED_CACHE '
 '
 
 test_lazy_prereq WATCHMAN '
-	{ command -v watchman >/dev/null 2>&1; ret=$?; } &&
-	test $ret -ne 1
+	command -v watchman
 '
 
 if test_have_prereq WATCHMAN
-- 
2.15.1

```

## Ben Peart, 2017-12-18 16:05

Subject: RE: [PATCH] p7519: improve check for prerequisite WATCHMAN
Message-ID: <MWHPR21MB04782C421CE40E6FA468AFF4F40E0@MWHPR21MB0478.namprd21.prod.outlook.com>
URL: https://gitlist.dev/e/MWHPR21MB04782C421CE40E6FA468AFF4F40E0%40MWHPR21MB0478.namprd21.prod.outlook.com
In-Reply-To: <fb8f1b3b-3668-db21-993c-087aee279936@web.de>

```
> -----Original Message-----
> From: René Scharfe [mailto:l.s.r@web.de]
> Sent: Saturday, December 16, 2017 7:12 AM
> To: Git List <git@vger.kernel.org>
> Cc: Junio C Hamano <gitster@pobox.com>; Ben Peart
> <Ben.Peart@microsoft.com>; Ævar Arnfjörð Bjarmason
> <avarab@gmail.com>
> Subject: [PATCH] p7519: improve check for prerequisite WATCHMAN
> 
> The return code of command -v with a non-existing command is 1 in bash
> and 127 in dash.  Use that return code directly to allow the script to work
> with dash and without watchman (e.g. on Debian).
> 
> While at it stop redirecting the output.  stderr is redirected to /dev/null by
> test_lazy_prereq already, and stdout can actually be useful -- the path of the
> found watchman executable is sent there, but it's shown only if the script
> was run with --verbose.
> 
> Signed-off-by: Rene Scharfe <l.s.r@web.de>
> ---
>  t/perf/p7519-fsmonitor.sh | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/t/perf/p7519-fsmonitor.sh b/t/perf/p7519-fsmonitor.sh index
> 16d1bf72e5..65e145c02d 100755
> --- a/t/perf/p7519-fsmonitor.sh
> +++ b/t/perf/p7519-fsmonitor.sh
> @@ -40,8 +40,7 @@ test_lazy_prereq UNTRACKED_CACHE '
>  '
> 
>  test_lazy_prereq WATCHMAN '
> -	{ command -v watchman >/dev/null 2>&1; ret=$?; } &&
> -	test $ret -ne 1
> +	command -v watchman
>  '

Looks good to me.  I tested this on Windows and it still works with and without watchman.  Thanks for the update to get this working on other platforms.

> 
>  if test_have_prereq WATCHMAN
> --
> 2.15.1

```
