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

Re: [PATCH/RFC] test-lib: add support for colors without tput

From
Erik Faye-Lund <kusmabite@gmail.com>
Date
Sep 14, 2012, 17:42 UTC
Message-ID
<CABPQNSb=j=TtZVm4tzR6HE+Fhh=Aa6GSnmaysLNBQTbtSie4Mg@mail.gmail.com>
In-Reply-To
<7va9ws5x6w.fsf@alter.siamese.dyndns.org>
On Fri, Sep 14, 2012 at 7:30 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 26 quoted lines
> Erik Faye-Lund <kusmabite@gmail.com> writes:
>
>> On Fri, Sep 14, 2012 at 6:41 PM, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>>> diff --git a/t/test-lib.sh b/t/test-lib.sh
>>> index 78c4286..7d1b34b 100644
>>> --- a/t/test-lib.sh
>>> +++ b/t/test-lib.sh
>>> @@ -129,6 +129,20 @@ export _x05 _x40 _z40 LF
>>>  # This test checks if command xyzzy does the right thing...
>>>  # '
>>>  # . ./test-lib.sh
>>> +
>>> +if ! which tput > /dev/null ; then
>>> +       tput () {
>>> +               case "$1" in
>>> +               bold)
>>> +                       echo -ne "\033[1m" ;;
>>> +               setaf)
>>> +                       echo -ne "\033[0;3$2m" ;;
>>> +               sgr0)
>>> +                       echo -ne "\033(\033[m" ;;
>>
>> I should of course have checked this earlier, but I find now that
>> "echo -ne" isn't portable.
>
> Neither is which, no?

Oooh, right. Thanks for noticing. So I guess I should try to run it instead. From the POSIX spec, I can't find a way of running it that guarantees a return-code of 0 without clobbering the console somehow.

Perhaps the best thing is pass no operands, and check for $? == 127 instead?
Something like this?
diff --git a/t/test-lib.sh b/t/test-lib.sh
index a939e19..1433cb3 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -130,7 +130,8 @@ export _x05 _x40 _z40 LF
 # '
 # . ./test-lib.sh

-if ! which tput > /dev/null ; then
+tput > /dev/null
+if test $? -eq 127 ; then
 	tput () {
 		case "$1" in
 		bold)
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en
Previous: Junio C HamanoNext: Junio C Hamano
Message 14 of 17 in “test-lib: add support for colors without tput”
  1. test-lib: add support for colors without tputErik Faye-Lund, Sep 14, 2012
  2. Erik Faye-LundSep 14, 2012
  3. Erik Faye-LundSep 14, 2012
  4. Elia PintoSep 14, 2012
  5. Erik Faye-LundSep 14, 2012
  6. Elia PintoSep 14, 2012
  7. Erik Faye-LundSep 14, 2012
  8. Johannes SixtSep 14, 2012
  9. Erik Faye-LundSep 14, 2012
  10. Erik Faye-LundSep 14, 2012
  11. Johannes SixtSep 14, 2012
  12. Johannes SixtSep 17, 2012
  13. Junio C HamanoSep 14, 2012
  14. Erik Faye-LundSep 14, 2012
  15. Junio C HamanoSep 14, 2012
  16. Jeff KingSep 14, 2012
  17. Erik Faye-LundSep 14, 2012

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.