A few tests have "| tee output" downstream of a git command, and then inspect the contents of the file. The net effect is that we use an extra process, and hide the exit status from the upstream git command. In none of these tests, I do not see a reason why we want to hide a possible failure from these git commands. Replace the use of tee with a plain simple redirection. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- t/t1001-read-tree-m-2way.sh | 2 +- t/t5523-push-upstream.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git c/t/t1001-read-tree-m-2way.sh w/t/t1001-read-tree-m-2way.sh index 88c524f655..48a1550371 100755 --- c/t/t1001-read-tree-m-2way.sh +++ w/t/t1001-read-tree-m-2way.sh @@ -397,7 +397,7 @@ test_expect_success 'a/b vs a, plus c/d case setup.' ' test_expect_success 'a/b vs a, plus c/d case test.' ' read_tree_u_must_succeed -u -m "$treeH" "$treeM" && - git ls-files --stage | tee >treeMcheck.out && + git ls-files --stage >treeMcheck.out && test_cmp treeM.out treeMcheck.out ' diff --git c/t/t5523-push-upstream.sh w/t/t5523-push-upstream.sh index 1f859ade16..4ad36a31e1 100755 --- c/t/t5523-push-upstream.sh +++ w/t/t5523-push-upstream.sh @@ -124,14 +124,14 @@ test_expect_success TTY 'push --no-progress suppresses progress' ' test_expect_success TTY 'quiet push' ' ensure_fresh_upstream && - test_terminal git push --quiet --no-progress upstream main 2>&1 | tee output && + test_terminal git push --quiet --no-progress upstream main >output 2>&1 && test_must_be_empty output ' test_expect_success TTY 'quiet push -u' ' ensure_fresh_upstream && - test_terminal git push --quiet -u --no-progress upstream main 2>&1 | tee output && + test_terminal git push --quiet -u --no-progress upstream main >output 2>&1 && test_must_be_empty output '