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

Re: [PATCH v3 1/3] tests: Prepare --textconv tests for correctly-failing conversion program

From
Jeff King <peff@peff.net>
Date
Sep 28, 2010, 15:58 UTC
Message-ID
<20100928155845.GA10271@sigill.intra.peff.net>
In-Reply-To
<7vlj6lubg1.fsf@alter.siamese.dyndns.org>
On Tue, Sep 28, 2010 at 08:36:46AM -0700, Junio C Hamano wrote:
Show 12 quoted lines
> >> >  cat >helper <<'EOF'
> >> >  #!/bin/sh
> >> > -sed 's/^/converted: /' "$@" >helper.out
> >> > +grep -q '^bin: ' "$@" || { echo "E: $@ is not \"binary\" file" 1>&2; exit 1; }
> >>  ...
> > ...
> > I too think (1) is right. It was just that originally there was $@
> > (which I now understand was wrong).
> 
> Well, the original's use of "$@" is perfectly fine; it would do the right
> thing with one argument, of course, but it would do the right thing with
> more than one, too.  On the other hand, your use inside "echo" is not.

Moreover, the use of "grep" is wrong. Giving it two files, one of which has "^bin: " and one of which doesn't, will silently accept the latter. If it's going to handle multiple files, it must be a for-loop (or you could invert "grep -qv", but I think that might be getting too clever to remain readable).

Which is why I suggested just dropping the t4042 bit, which is the only part that actually needs to handle multiple arguments. The other ones can just switch to using "$1". The helper script is simple enough that there is no need for them to share the same code.

-Peff
Previous: Junio C HamanoNext: Kirill Smelkov
Message 12 of 18 in “Fix {blame,cat-file} --textconv for cases with symlinks”
  1. 0/3 Fix {blame,cat-file} --textconv for cases with symlinksKirill Smelkov, Sep 24, 2010
  2. 1/3 tests: Prepare --textconv tests for correctly-failing conversion programKirill Smelkov, Sep 24, 2010
  3. Junio C HamanoSep 27, 2010
  4. Kirill SmelkovSep 28, 2010
  5. Kirill SmelkovSep 28, 2010
  6. Kirill SmelkovSep 28, 2010
  7. Jeff KingSep 28, 2010
  8. Kirill SmelkovSep 28, 2010
  9. Jeff KingSep 28, 2010
  10. Kirill SmelkovSep 28, 2010
  11. Junio C HamanoSep 28, 2010
  12. Jeff KingSep 28, 2010
  13. Kirill SmelkovSep 28, 2010
  14. Kirill SmelkovSep 29, 2010
  15. 2/3 blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinksKirill Smelkov, Sep 24, 2010
  16. Junio C HamanoSep 27, 2010
  17. Kirill SmelkovSep 28, 2010
  18. 3/3 blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''Kirill Smelkov, Sep 24, 2010

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.