Thread (1 message) 1 message, 1 author, 2012-11-07

Re: [PATCH] fdtget-runtest.sh: use printf instead of /bin/echo -e

From: Stephen Warren <hidden>
Date: 2012-11-07 02:27:27

On 11/06/2012 05:53 PM, David Gibson wrote:
On Tue, Nov 06, 2012 at 05:26:09PM -0700, Stephen Warren wrote:
quoted
On 11/06/2012 04:29 PM, David Gibson wrote:
quoted
On Tue, Nov 06, 2012 at 11:00:31AM -0700, Stephen Warren wrote:
quoted
From: Stephen Warren <redacted>

Not all /bin/echo implementations support the -e option. Instead, use
printf, which appears to be more widely available than /bin/echo -e.

See commit eaec1db "fdtget-runtest.sh: Fix failures when /bin/sh isn't
bash" for history.

I have tested this on Ubuntu 10.04 with /bin/sh pointing to both dash
and bash.

Reported-by: Mike Frysinger <redacted> # and implemented-by
Signed-off-by: Stephen Warren <redacted>
---
Mike, should I re-write this with you as the git author? If so, could
you please supply an S-o-b line for this?
---
 tests/fdtget-runtest.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tests/fdtget-runtest.sh b/tests/fdtget-runtest.sh
index c3a3559..8d8b058 100755
--- a/tests/fdtget-runtest.sh
+++ b/tests/fdtget-runtest.sh
@@ -8,7 +8,7 @@ rm -f $LOG $EXPECT
 trap "rm -f $LOG $EXPECT" 0
 
 expect="$1"
-/bin/echo -e $expect >$EXPECT
+printf '%b\n' "$expect" > $EXPECT
Um.. this is made to apply on top of the /bin/echo patch, but AFAICT
that was never committed..
I believe it's commit eaec1db "fdtget-runtest.sh: Fix failures when
/bin/sh isn't bash"; my local git certainly shows Jon as the committer
for that change.
I just pulled from git.jdl.com and I don't see anything after
e4b497f367a3b2ae99cc52089a14a221b13a76ef, which was on Oct 16.
Yes, Oct 16 is the last commit date I see too, but the patch was
committed long before that:
commit eaec1dbc5946d5fd01a9ef7120f8461c74d759a0
Author:     Stephen Warren [off-list ref]
AuthorDate: Tue Mar 20 20:23:46 2012 -0600
Commit:     Jon Loeliger [off-list ref]
CommitDate: Sat Mar 31 09:00:29 2012 -0500

    fdtget-runtest.sh: Fix failures when /bin/sh isn't bash
    
    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.
    
    Signed-off-by: Stephen Warren [off-list ref]
    Acked-by: David Gibson [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help