Subject: Re: [GSoC] [PATCH 1/1] t9811: avoid using pipes

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 7 Apr 2025 09:51:31 +0200

On Sat, Apr 05, 2025 at 12:37:18PM +0200, Anthony Wang wrote:
> diff --git a/t/t9811-git-p4-label-import.sh b/t/t9811-git-p4-label-import.sh
> index 5ac5383fb7..5abac938d0 100755
> --- a/t/t9811-git-p4-label-import.sh
> +++ b/t/t9811-git-p4-label-import.sh
> @@ -95,9 +95,10 @@ test_expect_success 'two labels on the same changelist' '
>  		cd "$git" &&
>  		git p4 sync --import-labels &&
>  
> -		git tag | grep TAG_F1 &&
> -		git tag | grep -q TAG_F1_1 &&
> -		git tag | grep -q TAG_F1_2 &&
> +		git tag >output &&
> +		grep TAG_F1 output &&
> +		grep -q TAG_F1_1 output &&
> +		grep -q TAG_F1_2 output &&
>  
>  		cd main &&
>  

I was a bit puzzled why we use `grep` for the first invocation, but
`grep -q` for the other ones. It made me double check that there is no
surrounding shell that expects to read the output generated by that
line, but as far as I can see that is not the case. We might want to
drop them to avoid such confusion (and explain in the commit message why
we want to drop it).

While at it, you can also adapt all adapted calls of `grep` to instead
use `test_grep`. The benefit of that function is that it will provide
helpful debug output in case the test ever was to fail by printing
contents of the non-matching file.

Other than that the patch looks good to me, thanks!

Patrick