From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@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: Wed, 7 Nov 2012 08:34:44 +1100 [thread overview]
Message-ID: <20121106213444.GJ23553@truffula.fritz.box> (raw)
In-Reply-To: <50994892.1070504-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
On Tue, Nov 06, 2012 at 10:27:46AM -0700, Stephen Warren wrote:
> 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?
Yes it does, so yes it does.
> 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.
Ok, good to hear.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
prev parent reply other threads:[~2012-11-06 21:34 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
[not found] ` <50994892.1070504-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-06 21:34 ` David Gibson [this message]
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=20121106213444.GJ23553@truffula.fritz.box \
--to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@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).