From 5b2eaa1170aa135450a1180a525bf1ed7c34eb3a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 1 Mar 2019 01:03:54 +0000 Subject: [PATCH] commit 66ac9466852d11e968f8fd2ad6ffc7386cee49e1 gotest: avoid using echo inside $() The handling of newlines is not portable between bash and ksh. Reviewed-on: https://go-review.googlesource.com/c/164597 From-SVN: r269298 --- gcc/go/gofrontend/MERGE | 2 +- libgo/testsuite/gotest | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index e997df8f36f..b5e9eedb2b6 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -08f1c400ec95d70a5cf5a08b1600fa5445e42361 +66ac9466852d11e968f8fd2ad6ffc7386cee49e1 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/testsuite/gotest b/libgo/testsuite/gotest index 06000eae60e..c9c14652c76 100755 --- a/libgo/testsuite/gotest +++ b/libgo/testsuite/gotest @@ -619,21 +619,25 @@ symtogo() { # Turn pairs of spaces into " \x20", because $() will # drop duplicate spaces. # Drop trailing spaces, and turn newlines into \n. - output="$(sed '1 s/\([Uu]nordered \)\?[Oo]utput:[ ]*//' < example.txt | + # Remove leading and trailing \n. + sed '1 s/\([Uu]nordered \)\?[Oo]utput:[ ]*//' < example.txt | sed -e 's/\\/\\\\/g' \ -e 's/"/\\"/g' \ -e 's/ /\\t/g' \ -e 's/ / \\x20/g' \ -e 's/[ ]*$/\\n/g' | - tr -d '\n')" - # Remove leading and trailing \n. - output="$(echo "$output" | sed -e 's/^\(\\n\)*//' -e 's/\(\\n\)*$//')" + tr -d '\n' | + sed -e 's/^\(\\n\)*//' \ + -e 's/\(\\n\)*$//' > example2.txt hasoutput=true rm -f example.txt break done if test x$hasoutput = xtrue; then - echo ' {"'$n'", '$j', "'"$output"'", '$unordered'},' + echo ' {"'$n'", '$j',' + sed -e 's/^/ "/' -e 's/$/", /' < example2.txt + echo $unordered'},' + rm -f example2.txt fi done echo '}'