Re: [PATCH v2 3/6] t1300: don't create unused files
- From
Andrei Rybak <rybak.a.v@gmail.com>
- Date
- Apr 6, 2023, 21:30 UTC
- Message-ID
- <c43e6b71-075a-e39a-7351-8595e145dacf@gmail.com>
- In-Reply-To
- <230406.86pm8htnfk.gmgdl@evledraar.gmail.com>
On 06/04/2023 10:38, Ævar Arnfjörð Bjarmason wrote:
Show 68 quoted lines
> > On Tue, Apr 04 2023, Andrei Rybak wrote: > >> Three tests in t1300-config.sh check that "git config --get" barfs when >> syntax errors are present in the config file. The tests redirect >> standard output and standard error of "git config --get" to files, >> "actual" and "error" correspondingly. They assert presence of an error >> message in file "error". However, these tests don't use file "actual" >> for assertions. >> >> Don't redirect standard output of "git config --get" to file "actual" in >> t1300-config.sh to avoid creating unnecessary files. >> >> Signed-off-by: Andrei Rybak <rybak.a.v@gmail.com> >> --- >> t/t1300-config.sh | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/t/t1300-config.sh b/t/t1300-config.sh >> index d566729d74..8ac4531c1b 100755 >> --- a/t/t1300-config.sh >> +++ b/t/t1300-config.sh >> @@ -1575,7 +1575,7 @@ test_expect_success 'barf on syntax error' ' >> [section] >> key garbage >> EOF >> - test_must_fail git config --get section.key >actual 2>error && >> + test_must_fail git config --get section.key 2>error && >> test_i18ngrep " line 3 " error >> ' >> >> @@ -1585,7 +1585,7 @@ test_expect_success 'barf on incomplete section header' ' >> [section >> key = value >> EOF >> - test_must_fail git config --get section.key >actual 2>error && >> + test_must_fail git config --get section.key 2>error && >> test_i18ngrep " line 2 " error >> ' >> >> @@ -1595,7 +1595,7 @@ test_expect_success 'barf on incomplete string' ' >> [section] >> key = "value string >> EOF >> - test_must_fail git config --get section.key >actual 2>error && >> + test_must_fail git config --get section.key 2>error && >> test_i18ngrep " line 3 " error >> ' > > Ditto my comment on 1/6, shouldn't we instead be doing e.g.: > > diff --git a/t/t1300-config.sh b/t/t1300-config.sh > index 2575279ab84..df2070c2f09 100755 > --- a/t/t1300-config.sh > +++ b/t/t1300-config.sh > @@ -1575,7 +1575,8 @@ test_expect_success 'barf on syntax error' ' > [section] > key garbage > EOF > - test_must_fail git config --get section.key >actual 2>error && > + test_must_fail git config --get section.key >out 2>error && > + test_must_be_empty out && > test_i18ngrep " line 3 " error > ' > > I.e. before this we had no coverage on the error being the only output, > but seemingly by mistake. Let's just assert that, rather than dropping > the redirection entirely, no?
Here, failing invocations of "git config" are tested, and an argument, as Junio C Hamano outlined in https://lore.kernel.org/git/xmqqsfe8s56p.fsf@gitster.g/ for output of failing "git mktree", could be applied here.
Thinking about it more, such assertions enforcing empty standard output for these commands might be helpful if some tools and/or scripts rely on empty standard output instead of checking the exit code. Hyrum's Law applies here, I guess.