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

Re: [PATCH] t4014: shell portability fix

From
Jeff King <peff@peff.net>
Date
Jun 1, 2016, 16:07 UTC
Message-ID
<20160601160735.GB9219@sigill.intra.peff.net>
In-Reply-To
<xmqqfusx0wyj.fsf@gitster.mtv.corp.google.com>
On Wed, Jun 01, 2016 at 08:07:16AM -0700, Junio C Hamano wrote:
Show 5 quoted lines
> > Here's the patch I wrote up earlier (but was too timid to send out after
> > my barrage of emails :) ).
> 
> Looks very sensible.  I'll drop all these "Attempt to test with
> ksh93 found these breakages" patches and queue this one.

Curious based on our previous discussion, I applied your patches and did a "make SHELL_PATH=/bin/ksh93 test". There were only a handful of failures remaining. Some were definitely the "../.git" thing (which Andreas earlier reported as fixed, though the fix still has not made it into the version in Debian), but some were just puzzling. I shrugged and gave up.

Show 11 quoted lines
> > We sometimes get around this by using env, like:
> >
> >   test_must_fail env FOO=BAR some-program
> >
> > But that only works because test_must_fail's arguments are
> > themselves a command which can be run. You can't run:
> 
> We can do "test_must_fail test_commit ...", but "test_must_fail env
> FOO=BAR test_commit ..." would not work, right?
> 
> If so s/because/when/, perhaps?

Right. What I was trying to say is that it works in this case because test_must_fail further executes its arguments, which gives us an opportunity to put the "env" on the right-hand side of the function call. I'm not sure s/because/when/ makes that any better, though.

Maybe:
    We sometimes get around this by using env, like:
      test_must_fail env FOO=BAR some-program
    But that works for test_must_fail because it further runs its
    arguments via the shell, so we can stick the "env" on the right-hand
    side of the function. It would not work to do:
      env FOO=BAR test_must_fail some-program
    because env does not know about our shell functions...
is more clear?
-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 14 of 20 in “t4014: shell portability fix”
  1. t4014: shell portability fixJunio C Hamano, May 31, 2016
  2. Jeff KingMay 31, 2016
  3. Eric SunshineJun 1, 2016
  4. Jeff KingJun 1, 2016
  5. Jeff KingJun 1, 2016
  6. Jeff KingJun 1, 2016
  7. Jeff KingJun 1, 2016
  8. Jeff KingJun 1, 2016
  9. Jeff KingJun 1, 2016
  10. Junio C HamanoJun 1, 2016
  11. Junio C HamanoJun 1, 2016
  12. Jeff KingJun 1, 2016
  13. Junio C HamanoJun 1, 2016
  14. Jeff KingJun 1, 2016
  15. Junio C HamanoJun 1, 2016
  16. Jeff KingJun 1, 2016
  17. Johannes SixtJun 1, 2016
  18. Jeff KingJun 1, 2016
  19. Eric SunshineJun 1, 2016
  20. Ramsay JonesJun 1, 2016

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.