devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: Re: [PATCH] fdtget-runtest.sh: Fix failures when /bin/sh isn't bash
Date: Tue, 06 Nov 2012 10:27:46 -0700	[thread overview]
Message-ID: <50994892.1070504@wwwdotorg.org> (raw)
In-Reply-To: <20121106072656.GF23553-W9XWwYn+TF0XU02nzanrWNbf9cGiqdzd@public.gmane.org>

On 11/06/2012 12:26 AM, David Gibson wrote:
> On Mon, Nov 05, 2012 at 10:39:30AM -0700, Stephen Warren wrote:
>> On 11/02/2012 02:26 PM, Mike Frysinger wrote:
>>> On Tuesday 20 March 2012 22:23:46 Stephen Warren wrote:
>>>> On Ubuntu, /bin/sh is dash (at least by default), and dash's echo
>>>> doesn't accept the -e option. This means that fdtget-runtest.sh's
>>>> EXPECT file will contain "-e foo" rather than just "foo", which
>>>> causes a test failure.
>>>>
>>>> To work around this, run /bin/echo instead of (builtin) echo,
>>>> which has more chance of supporting the -e option.
>>>>
>>>> Another possible fix is to change all the #! lines to /bin/bash
>>>> rather than /bin/sh, and change run_tests.sh to invoke
>>>> sub-scripts using $SHELL instead of just "sh". However, that
>>>> would require bash specifically, which may not be desirable.
>>>>
>>>> --- a/tests/fdtget-runtest.sh +++ b/tests/fdtget-runtest.sh
>>>>
>>>> -echo -e $expect >$EXPECT +/bin/echo -e $expect >$EXPECT
>>>
>>> the better fix is to use printf and %b: printf '%b\n' "$expect" >
>>> $EXPECT
>>
>> What is the relative availability (e.g. on anything other than a
>> modern Linux distro) of a printf binary vs. a /bin/echo binary that
>> supports -e? I certainly heard about /bin/echo -e long before I knew
>> about /usr/bin/printf, although it's quite possible that has no
>> correlation with where /usr/bin/printf is actually installed.
> 
> That's the crux of the matter, really.  I just had a look on a FreeBSD
> box I have access to and /bin/echo does *not* support -e, but there is
> a printf(1).  So the /bin/echo -e approach is definitely no good,
> printf might be but I don't know how widespread it is.

Out of curiosity, does FreeBSD's sh's built-in echo accept the -e
option? In other words, did the switch to /bin/echo break anything there?

For reference, I just booted my ancient Red Hat 7.3 virtual machine, and
it has printf, so I guess it's fairly widely available.

A quick search yields the following:

http://old.nabble.com/Re%3A-portability-of-%27printf%27-command-td28144087.html

which comes to the conclusion that printf is widely available enough to
be OK.

Oh, and if you find "Portable Shell Scripting" by Peter Seebach on
Google Books or in print, page 18 discusses the portability of printf,
and concludes that it's almost pervasive.

  parent reply	other threads:[~2012-11-06 17:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-21  2:23 [PATCH] fdtget-runtest.sh: Fix failures when /bin/sh isn't bash Stephen Warren
     [not found] ` <1332296626-19707-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-21  3:26   ` David Gibson
     [not found]     ` <20120321032653.GB15997-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2012-03-26  2:23       ` David Gibson
     [not found]         ` <20120326022350.GA13005-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2012-03-26 13:11           ` Jon Loeliger
     [not found]             ` <E1SC9hv-0007Gm-Py-CYoMK+44s/E@public.gmane.org>
2012-03-26 23:37               ` David Gibson
     [not found]                 ` <20120326233709.GB9357-MK4v0fQdeXQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2012-03-31 14:17                   ` Jon Loeliger
2012-11-02 20:26   ` Mike Frysinger
     [not found]     ` <201211021626.50503.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2012-11-05 17:39       ` Stephen Warren
     [not found]         ` <5097F9D2.2040103-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-06  7:26           ` David Gibson
     [not found]             ` <20121106072656.GF23553-W9XWwYn+TF0XU02nzanrWNbf9cGiqdzd@public.gmane.org>
2012-11-06 17:27               ` Stephen Warren [this message]
     [not found]                 ` <50994892.1070504-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-06 21:34                   ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50994892.1070504@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).