t4002: fix "diff can read from stdin" syntax
PATCH 1/1 t4002: fix "diff can read from stdin" syntax
From: "D. Ben Knoble" <[email protected]>
I noticed this test was producing output like
``` t4002-diff-basic.sh: test_expect_successdiff can read from stdin: not found ```
which is rather odd. Investigation shows an error of shell syntax:
foo'abc' is the same as fooabc to the shell. Perhaps obviously, this is not a valid command for the test.
I am surprised this doesn't count as an error in the test, but that accounts for it going unnoticed.
---
t4002: fix "diff can read from stdin" syntax
I noticed this test was producing output like
t4002-diff-basic.sh: test_expect_successdiff can read from stdin: not found
which is rather odd. Investigation shows an error of shell syntax:
foo'abc' is the same as fooabc to the shell. Perhaps obviously, this is not a valid command for the test.
I am surprised this doesn't count as an error in the test, but that accounts for it going unnoticed.
------------------------------------------------------------------------
I would be interested in knowing how to "unsilence" failures like this so they do not go unnoticed in the future.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1545%2Fbenknoble%2Ft4002-diff-stdin-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1545/benknoble/t4002-diff-stdin-v1
Pull-Request: https://github.com/git/git/pull/1545
t/t4002-diff-basic.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
t/t4002-diff-basic.sh +1 -1
@@ -403,7 +403,7 @@ test_expect_success 'diff-tree -r B A == diff-tree -r -R A B' ' git diff-tree -r -R $tree_A $tree_B >.test-b && cmp -s .test-a .test-b' -test_expect_success'diff can read from stdin' ' +test_expect_success 'diff can read from stdin' ' test_must_fail git diff --no-index -- MN - < NN | grep -v "^index" | sed "s#/-#/NN#" >.test-a && test_must_fail git diff --no-index -- MN NN |
base-commit: aa9166bcc0ba654fc21f198a30647ec087f733ed
Signature · 1 line
gitgitgadget
Am 14.07.23 um 15:30 schrieb D. Ben Knoble via GitGitGadget:
Quoted 6 lines
t/t4002-diff-basic.sh +0
-0
t/t4002-diff-basic.sh test_expect_success 'diff-tree -r B A == diff-tree -r -R A B' ' · line 409
Quoted 8 lines
t/t4002-diff-basic.sh +1
-1@@ -403,7 +403,7 @@ test_expect_success 'diff-tree -r B A == diff-tree -r -R A B' ' git diff-tree -r -R $tree_A $tree_B >.test-b && cmp -s .test-a .test-b' -test_expect_success'diff can read from stdin' ' +test_expect_success 'diff can read from stdin' ' test_must_fail git diff --no-index -- MN - < NN | grep -v "^index" | sed "s#/-#/NN#" >.test-a && test_must_fail git diff --no-index -- MN NN |
Good find! Introduced by 9cfcbcc095 (t4002-diff-basic: modernize test format, 2023-05-18). Perhaps an automatic formatter would have avoided it? E.g. some sed(1) scripting, or shfmt (https://github.com/mvdan/sh)?
(Just discovered shfmt, never used it.)
René
Quoted 5 lines · René Scharfe
Good find! Introduced by
9cfcbcc095(t4002-diff-basic: modernize test format, 2023-05-18). Perhaps an automatic formatter would have avoided it? E.g. some sed(1) scripting, or shfmt (https://github.com/mvdan/sh)?
(Just discovered shfmt, never used it.)
I'm doubtful: it would have to know things about the test_* commands. (I would expect context-blind formatters to leave it alone, as it is a perfectly correct way to spell a command with spaces in the name, though who would do such a thing, I don't know.)
Quoted 12 lines · D. Ben Knoble via GitGitGadget
From: "D. Ben Knoble" <[email protected]>
I noticed this test was producing output like
``` t4002-diff-basic.sh: test_expect_successdiff can read from stdin: not found ```which is rather odd. Investigation shows an error of shell syntax:
foo'abc' is the same as fooabc to the shell. Perhaps obviously, this is not a valid command for the test.
Quoted 5 lines
I am surprised this doesn't count as an error in the test, but that accounts for it going unnoticed.
Signed-off-by D. Ben Knoble <[email protected]>---
Nicely spotted. Thanks.
Will queue.
Quoted 9 lines · René Scharfe
Am 14.07.23 um 15:30 schrieb D. Ben Knoble via GitGitGadget:
Quoted 8 lines
t/t4002-diff-basic.sh +0
-0@@ -403,7 +403,7 @@ test_expect_success 'diff-tree -r B A == diff-tree -r -R A B' ' git diff-tree -r -R $tree_A $tree_B >.test-b && cmp -s .test-a .test-b'
Quoted 11 lines
t/t4002-diff-basic.sh test_expect_success 'diff-tree -r B A == diff-tree -r -R A B' ' · line 409
Quoted 6 lines
t/t4002-diff-basic.sh +1
-1-test_expect_success'diff can read from stdin' ' +test_expect_success 'diff can read from stdin' ' test_must_fail git diff --no-index -- MN - < NN | grep -v "^index" | sed "s#/-#/NN#" >.test-a && test_must_fail git diff --no-index -- MN NN |Good find! Introduced by
9cfcbcc095(t4002-diff-basic: modernize test format, 2023-05-18). Perhaps an automatic formatter would have avoided it? E.g. some sed(1) scripting, or shfmt (https://github.com/mvdan/sh)?
(Just discovered shfmt, never used it.)
Thanks for finding this and fixing!
Quoted 2 lines
René