git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Re: [PATCH v3 5/5] do not die when error in config parsing of buf occurs

From
Jeff King <peff@peff.net>
Date
May 11, 2013, 09:59 UTC
Message-ID
<20130511095936.GB17326@sigill.intra.peff.net>
In-Reply-To
<20130511085531.GA3670@book-mint>
On Sat, May 11, 2013 at 10:55:31AM +0200, Heiko Voigt wrote:
Show 32 quoted lines
> > > diff --git a/t/t1307-config-blob.sh b/t/t1307-config-blob.sh
> > > index fdc257e..a4929eb 100755
> > > --- a/t/t1307-config-blob.sh
> > > +++ b/t/t1307-config-blob.sh
> > > @@ -55,12 +55,17 @@ test_expect_success 'editing a blob is an error' '
> > >  test_expect_success 'parse errors in blobs are properly attributed' '
> > >  	cat >config <<-\EOF &&
> > >  	[some]
> > > -		value = "
> > > +		value = 1
> > > +		error = "
> > >  	EOF
> > >  	git add config &&
> > >  	git commit -m broken &&
> > >  
> > > -	test_must_fail git config --blob=HEAD:config some.value 2>err &&
> > > +	test_must_fail git config --blob=HEAD:config some.value 1>out 2>err &&
> > > +
> > > +	# Make sure there is no output of values on stdout
> > > +	touch out.expect &&
> > > +	test_cmp out.expect out &&
> > 
> > I'm not clear on what is being tested here. Were we outputting to stdout
> > before this patch (I would have thought our die() meant we did not.
> 
> We where not outputting to stdout before so the test is correct there as
> well. I extended the test when implementing the non-dying version of
> git_config_with_options() so I could see the test fail. If just
> returning the error it would still output the values read until then. So
> if you think that it belongs into the initial version of this test
> (maybe including some comment why we need an extra parseable value) I
> am happy to move it there.
>From what you wrote above, it sounds like we would expect git-config to

write out some.value before failing on some.error. But that isn't what the test is checking, is it? It is checking that nothing is output.

I do not think the output matters much either way when git-config has failed; if it returns a non-zero exit code, then the results of stdout cannot be trusted (after all, it may have been killed by signal after it had written out half of the output).

Still slightly puzzled...
-Peff
Previous: Heiko VoigtNext: Heiko Voigt
Message 13 of 14 in “config: factor out config file stack management”
  1. 1/5 config: factor out config file stack managementHeiko Voigt, May 9, 2013
  2. 2/5 config: drop cf validity check in get_next_char()Heiko Voigt, May 9, 2013
  3. 3/5 config: make parsing stack struct independent from actual data sourceHeiko Voigt, May 9, 2013
  4. Jeff KingMay 9, 2013
  5. 4/5 teach config --blob option to parse config from databaseHeiko Voigt, May 9, 2013
  6. Eric SunshineMay 9, 2013
  7. Jeff KingMay 9, 2013
  8. Heiko VoigtMay 10, 2013
  9. 5/5 do not die when error in config parsing of buf occursHeiko Voigt, May 9, 2013
  10. Eric SunshineMay 9, 2013
  11. Jeff KingMay 9, 2013
  12. Heiko VoigtMay 11, 2013
  13. Jeff KingMay 11, 2013
  14. Heiko VoigtMay 11, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.