t4129: prevent loss of exit code due to the use of pipes
PATCH 1/1 t4129: prevent loss of exit code due to the use of pipes
From: Chandra Pratap <[email protected]>
Piping the output of git commands like git-ls-files to another command (grep in this case) hides the exit code returned by these commands. Prevent this by storing the output of git-ls-files to a temporary file and then "grep-ping" from that file. Replace grep with test_grep as the latter is more verbose when it fails.
---
t4129: prevent loss of exit code due to the use of pipes
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1636%2FChand-ra%2Ftest_pipe-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1636/Chand-ra/test_pipe-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1636
t/t4129-apply-samemode.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
t/t4129-apply-samemode.sh +4 -2
@@ -41,7 +41,8 @@ test_expect_success FILEMODE 'same mode (index only)' ' chmod +x file && git add file && git apply --cached patch-0.txt && - git ls-files -s file | grep "^100755" + git ls-files -s file > ls-files-output && + test_grep "^100755" ls-files-output ' test_expect_success FILEMODE 'mode update (no index)' '
@@ -60,7 +61,8 @@ test_expect_success FILEMODE 'mode update (with index)' ' test_expect_success FILEMODE 'mode update (index only)' ' git reset --hard && git apply --cached patch-1.txt && - git ls-files -s file | grep "^100755" + git ls-files -s file > ls-files-output && + test_grep "^100755" ls-files-output ' test_expect_success FILEMODE 'empty mode is rejected' '
base-commit: a54a84b333adbecf7bc4483c0e36ed5878cac17b
Signature · 1 line
gitgitgadget
Quoted 2 lines · Chandra Pratap via GitGitGadget
t/t4129-apply-samemode.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Looks good. Will queue with two instances of a minor style fix (see below).
t/t4129-apply-samemode.sh test_expect_success FILEMODE 'same mode (index only)' ' · line 44
Quoted 10 lines
t/t4129-apply-samemode.sh +1
-1@@ -41,7 +41,8 @@ test_expect_success FILEMODE 'same mode (index only)' ' chmod +x file && git add file && git apply --cached patch-0.txt && - git ls-files -s file | grep "^100755" + git ls-files -s file > ls-files-output &&
Redirection operator ">" and "<" sticks to the file in question (look for "> " and "< " in this file and you'd find none), i.e.
git ls-files -s file >ls-files-output &&
Thanks.