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
Ben Walton <bdwalton@gmail.com>
Date
Oct 28, 2013, 21:12 UTC
Message-ID
<CAP30j17Qv7DrrbgZTsCQB8gxsfQTfVy35s9sDkW0=pHz9F+W3Q@mail.gmail.com>
In-Reply-To
<CAP30j179XPZqTGiZuvyZEL94Q14ocas+r8mP_R4gLetWwikkwA@mail.gmail.com>
On Mon, Oct 28, 2013 at 9:04 PM, Ben Walton <bdwalton@gmail.com> wrote:
Show 62 quoted lines
> I'm happy to defer to your judgement on this - If you'd like the tests
> wrapped, I'll do so.
>
> Thanks
> -Ben
>
> On Mon, Oct 28, 2013 at 7:08 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> Jonathan Nieder <jrnieder@gmail.com> writes:
>>
>>> 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.
>>

Per the other discussion about replacing all PERL_PATH with a shell function named perl, should I update this patch to use $PERL_PATH in the meantime so that it can be batch updated when the function is added in a separate patch?

Thanks -Ben

-- 
---------------------------------------------------------------------------------------------------------------------------
Take the risk of thinking for yourself.  Much more happiness,
truth, beauty and wisdom will come to you that way.

-Christopher Hitchens
---------------------------------------------------------------------------------------------------------------------------
Previous: Ben WaltonNext: Junio C Hamano
Message 19 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.