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

Re: [PATCH] Avoid difference in tr semantics between System V and BSD

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 28, 2013, 19:08 UTC
Message-ID
<xmqqk3gxfc20.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20131028182718.GA4242@google.com>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 44 quoted lines
> Johannes Sixt wrote:
>
>> In other tests, we check for prerequisite PERL, i.e., we are prepared
>> that perl is not available. Shouldn't we do that here, too?
>
> I think the tests assume there's a perl present even when the PERL
> prereq isn't present already.  E.g.:
>
> 	nul_to_q () {
> 		"$PERL_PATH" -pe 'y/\000/Q/'
> 	}
>
> So in practice the PERL prereq just means "NO_PERL wasn't set", or
> in other words, "commands that use perl work".  Maybe something
> like the following would help?
>
> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
>
> diff --git i/t/README w/t/README
> index 2167125..54cd064 100644
> --- i/t/README
> +++ w/t/README
> @@ -629,11 +629,20 @@ See the prereq argument to the test_* functions in the "Test harness
>  library" section above and the "test_have_prereq" function for how to
>  use these, and "test_set_prereq" for how to define your own.
>  
> - - PERL & PYTHON
> + - PYTHON
>  
> -   Git wasn't compiled with NO_PERL=YesPlease or
> -   NO_PYTHON=YesPlease. Wrap any tests that need Perl or Python in
> -   these.
> +   Git wasn't compiled with NO_PYTHON=YesPlease. Wrap any tests that
> +   need Python with this.
> +
> + - PERL
> +
> +   Git wasn't compiled with NO_PERL=YesPlease.
> +
> +   Even without the PERL prerequisite, tests can assume there is a
> +   usable perl interpreter at $PERL_PATH, though it need not be
> +   particularly modern.
> +
> +   Wrap tests for commands implemented in Perl with this.
Sounds like a sensible thing to address, but I first parsed it as
    Wrap (tests for (commands implemented in Perl)) with this.
while I think the readers are expected to parse it as
   Wrap ((tests for commands) implemented in Perl) with this.
Previous: Jonathan NiederNext: Jonathan Nieder
Message 7 of 24 in “Avoid broken Solaris tr”
  1. Avoid broken Solaris trBen Walton, Jun 18, 2013
  2. Junio C HamanoJun 18, 2013
  3. Ben WaltonOct 28, 2013
  4. Avoid difference in tr semantics between System V and BSDBen Walton, Oct 28, 2013
  5. Johannes SixtOct 28, 2013
  6. Jonathan NiederOct 28, 2013
  7. Junio C HamanoOct 28, 2013
  8. t/README: tests can use perl even with NO_PERLJonathan Nieder, Oct 28, 2013
  9. Johannes SixtOct 28, 2013
  10. Jeff KingOct 28, 2013
  11. Jonathan NiederOct 28, 2013
  12. Ben WaltonOct 28, 2013
  13. 0/3 perlJeff King, Oct 29, 2013
  14. 1/3 use @@PERL@@ in built scriptsJeff King, Oct 29, 2013
  15. Junio C HamanoOct 29, 2013
  16. 2/3 t: provide a perl() function which uses $PERL_PATHJeff King, Oct 29, 2013
  17. 3/3 t: use perl instead of "$PERL_PATH" where applicableJeff King, Oct 29, 2013
  18. Ben WaltonOct 28, 2013
  19. Ben WaltonOct 28, 2013
  20. Junio C HamanoOct 28, 2013
  21. Avoid difference in tr semantics between System V and BSDBen Walton, Oct 28, 2013
  22. Ben WaltonOct 28, 2013
  23. Avoid difference in tr semantics between System V and BSDBen Walton, Oct 28, 2013
  24. Junio C HamanoOct 30, 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.