Message ID | 20250405103718.25160-1-anthonywang03@icloud.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [GSoC,1/1] t9811: avoid using pipes | expand |
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
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 && @@ -208,7 +209,8 @@ test_expect_success 'use git config to enable import/export of tags' ' git p4 rebase --verbose && git p4 submit --verbose && git tag && - git tag | grep TAG_F1_1 + git tag >output && + grep TAG_F1_1 output ) && ( cd "$cli" &&
The exit code of the upstream in a pipe is suppressed thus we lose any exit codes of git commands that are piped. In order to ensure we pick up the exit code, we can write the output of the git command to a file, testing the exit codes of both the commands. Signed-off-by: Anthony Wang <anthonywang513@gmail.com> --- t/t9811-git-p4-label-import.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)