So, like, Prathamesh Chavan said: > The exit code of the upstream of a pipe is ignored thus we should avoid > using it. By writing out the output of the git command to a file, we > can test the exit codes of both the commands. > > Signed-off-by: Prathamesh <pc44800@xxxxxxxxx> > --- > t/t2027-worktree-list.sh | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/t/t2027-worktree-list.sh b/t/t2027-worktree-list.sh > index 848da5f..daa7a04 100755 > --- a/t/t2027-worktree-list.sh > +++ b/t/t2027-worktree-list.sh > @@ -31,7 +31,7 @@ test_expect_success '"list" all worktrees from main' ' > test_when_finished "rm -rf here && git worktree prune" && > git worktree add --detach here master && > echo "$(git -C here rev-parse --show-toplevel) $(git rev-parse --short > HEAD) (detached HEAD)" >>expect && > - git worktree list | sed "s/ */ /g" >actual && > + git worktree list >out && sed "s/ */ /g" <out >actual && > test_cmp expect actual > ' I confess I am not familiar with the test set up. However, I'd ask the question do we care about the lingering "out" and "actual" files here? Or will they silently be cleaned up along the way later? Thanks, jdl