In check_threading(), there was a Git command in the upstream of a pipe. In order to not lose its status code, it was saved into a file. However, this may be confusing so rewrite to redirect IO to file. This allows us to directly use the conventional &&-chain. Signed-off-by: Denton Liu <liu.denton@xxxxxxxxx> --- t/t4014-format-patch.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 176af4b902..7f74948e2c 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -319,7 +319,7 @@ test_expect_success 'reroll count (-v)' ' check_threading () { expect="$1" && shift && - (git format-patch --stdout "$@"; echo $? >status.out) | + git format-patch --stdout "$@" >patch && # Prints everything between the Message-ID and In-Reply-To, # and replaces all Message-ID-lookalikes by a sequence number perl -ne ' @@ -334,8 +334,7 @@ check_threading () { print; } print "---\n" if /^From /i; - ' >actual && - test 0 = "$(cat status.out)" && + ' <patch >actual && test_cmp "$expect" actual } -- 2.23.0.248.g3a9dd8fb08