threads / patch / 59986

patcht4002: fix "diff can read from stdin" syntax

Subject: [PATCH] t4002: fix "diff can read from stdin" syntax

## tl;dr

5 messages between Jul 14, 2023 and Jul 14, 2023. Diffs are folded; open one to read it.

replies: 4people: 4as markdown or json

D. Ben Knoble via GitGitGadget· Jul 14, 2023, 13:30 UTC · lore
From: "D. Ben Knoble" <ben.knoble+github@gmail.com>
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.

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
---
    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(-)
Show changes to t/t4002-diff-basic.sh +1 −1
diff --git a/t/t4002-diff-basic.sh b/t/t4002-diff-basic.sh
index d524d4057dc..7afc883ec37 100755
--- a/t/t4002-diff-basic.sh
+++ b/t/t4002-diff-basic.sh
@@ -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
-- 
gitgitgadget
René Scharfe· Jul 14, 2023, 14:44 UTC · re: D. Ben Knoble via GitGitGadget · lore

Re: [PATCH] t4002: fix "diff can read from stdin" syntax

Am 14.07.23 um 15:30 schrieb D. Ben Knoble via GitGitGadget:
Show 14 quoted lines
> diff --git a/t/t4002-diff-basic.sh b/t/t4002-diff-basic.sh
> index d524d4057dc..7afc883ec37 100755
> --- a/t/t4002-diff-basic.sh
> +++ b/t/t4002-diff-basic.sh
> @@ -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é
D. Ben Knoble· Jul 14, 2023, 14:53 UTC · re: René Scharfe · lore

Re: [PATCH] t4002: fix "diff can read from stdin" syntax

On Fri, Jul 14, 2023 at 10:44 AM René Scharfe <l.s.r@web.de> wrote:
Show 5 quoted lines
>
> 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.)

John Cai· Jul 14, 2023, 18:56 UTC · re: René Scharfe · lore

Re: [PATCH] t4002: fix "diff can read from stdin" syntax

On 14 Jul 2023, at 10:44, René Scharfe wrote:
Show 20 quoted lines
> Am 14.07.23 um 15:30 schrieb D. Ben Knoble via GitGitGadget:
>> diff --git a/t/t4002-diff-basic.sh b/t/t4002-diff-basic.sh
>> index d524d4057dc..7afc883ec37 100755
>> --- a/t/t4002-diff-basic.sh
>> +++ b/t/t4002-diff-basic.sh
>> @@ -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.)
Thanks for finding this and fixing!
>
> René
Junio C Hamano· Jul 14, 2023, 16:52 UTC · re: D. Ben Knoble via GitGitGadget · lore

Re: [PATCH] t4002: fix "diff can read from stdin" syntax

"D. Ben Knoble via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 17 quoted lines
> From: "D. Ben Knoble" <ben.knoble+github@gmail.com>
>
> 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.
>
> Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
> ---
Nicely spotted.  Thanks.
Will queue.

← back to recent threads