Commit 5b2eaa11 by Ian Lance Taylor

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
parent 1e157582
08f1c400ec95d70a5cf5a08b1600fa5445e42361 66ac9466852d11e968f8fd2ad6ffc7386cee49e1
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -619,21 +619,25 @@ symtogo() { ...@@ -619,21 +619,25 @@ symtogo() {
# Turn pairs of spaces into " \x20", because $() will # Turn pairs of spaces into " \x20", because $() will
# drop duplicate spaces. # drop duplicate spaces.
# Drop trailing spaces, and turn newlines into \n. # 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' \ sed -e 's/\\/\\\\/g' \
-e 's/"/\\"/g' \ -e 's/"/\\"/g' \
-e 's/ /\\t/g' \ -e 's/ /\\t/g' \
-e 's/ / \\x20/g' \ -e 's/ / \\x20/g' \
-e 's/[ ]*$/\\n/g' | -e 's/[ ]*$/\\n/g' |
tr -d '\n')" tr -d '\n' |
# Remove leading and trailing \n. sed -e 's/^\(\\n\)*//' \
output="$(echo "$output" | sed -e 's/^\(\\n\)*//' -e 's/\(\\n\)*$//')" -e 's/\(\\n\)*$//' > example2.txt
hasoutput=true hasoutput=true
rm -f example.txt rm -f example.txt
break break
done done
if test x$hasoutput = xtrue; then 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 fi
done done
echo '}' echo '}'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment