diff mbox series

t4002: fix "diff can read from stdin" syntax

Message ID pull.1545.git.git.1689341410476.gitgitgadget@gmail.com (mailing list archive)
State Accepted
Commit e3a567ff4210614899424d2000015bab9b25af86
Headers show
Series t4002: fix "diff can read from stdin" syntax | expand

Commit Message

D. Ben Knoble July 14, 2023, 1:30 p.m. UTC
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(-)


base-commit: aa9166bcc0ba654fc21f198a30647ec087f733ed

Comments

René Scharfe July 14, 2023, 2:44 p.m. UTC | #1
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.)

René
D. Ben Knoble July 14, 2023, 2:53 p.m. UTC | #2
On Fri, Jul 14, 2023 at 10:44 AM René Scharfe <l.s.r@web.de> wrote:
>
> 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.)
Junio C Hamano July 14, 2023, 4:52 p.m. UTC | #3
"D. Ben Knoble via GitGitGadget" <gitgitgadget@gmail.com> writes:

> 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.
John Cai July 14, 2023, 6:56 p.m. UTC | #4
On 14 Jul 2023, at 10:44, René Scharfe wrote:

> 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é
diff mbox series

Patch

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 |