From fe206e63ca8b707bd6f0af42d02d736696b75c6a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 28 Jul 2011 13:04:52 -0400 Subject: [PATCH] build: handle spaces in $USER Fixes #2107. R=golang-dev, r CC=golang-dev https://golang.org/cl/4830042 --- src/cmd/gotry/gotry | 13 +++++++------ src/quietgcc.bash | 8 ++++---- test/run | 24 ++++++++++++------------ 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/cmd/gotry/gotry b/src/cmd/gotry/gotry index 52c5d2d586..3cc7a9864d 100755 --- a/src/cmd/gotry/gotry +++ b/src/cmd/gotry/gotry @@ -111,7 +111,8 @@ function getFunctions() { functions=$(getFunctions) # Write file to compile -rm -f /tmp/$USER.try.go +file="/tmp/$USER.try" +rm -f "file.go" ( cat <<'!' package main @@ -159,9 +160,9 @@ var _ os.Error func toSlice(a ...interface{}) []interface{} { return a } ! -)>/tmp/$USER.try.go +)>"$file.go" -$GC -o /tmp/$USER.try.$O /tmp/$USER.try.go && -$GL -o /tmp/$USER.try /tmp/$USER.try.$O && -/tmp/$USER.try "_$@" -rm -f /tmp/$USER.try /tmp/$USER.try.go /tmp/$USER.try.$O +$GC -o "$file.$O" "$file.go" && +$GL -o "$file" "$file.$O" && +"$file" "_$@" +rm -f "$file" "$file.go" "$file.$O" diff --git a/src/quietgcc.bash b/src/quietgcc.bash index c99305edad..759f6b407c 100755 --- a/src/quietgcc.bash +++ b/src/quietgcc.bash @@ -32,13 +32,13 @@ case "$(uname -m -p)-$GOHOSTARCH" in esac # Run gcc, save error status, redisplay output without noise, exit with gcc status. -tmp=${TMPDIR:-/tmp}/quietgcc.$$.$USER.out +tmp="${TMPDIR:-/tmp}/quietgcc.$$.$USER.out" $gcc -Wall -Wno-sign-compare -Wno-missing-braces \ -Wno-parentheses -Wno-unknown-pragmas -Wno-switch -Wno-comment \ -Werror \ - "$@" >$tmp 2>&1 + "$@" >"$tmp" 2>&1 status=$? -egrep -v "$ignore" $tmp | uniq | tee $tmp.1 +egrep -v "$ignore" "$tmp" | uniq | tee "$tmp.1" -rm -f $tmp $tmp.1 +rm -f "$tmp" "$tmp.1" exit $status diff --git a/test/run b/test/run index bb6119836a..bc31d2f714 100755 --- a/test/run +++ b/test/run @@ -33,9 +33,9 @@ failed=0 PATH=/bin:/usr/bin:/usr/local/bin:${GOBIN:-$GOROOT/bin}:`pwd` -RUNFILE=/tmp/gorun-$$-$USER -TMP1FILE=/tmp/gotest1-$$-$USER -TMP2FILE=/tmp/gotest2-$$-$USER +RUNFILE="/tmp/gorun-$$-$USER" +TMP1FILE="/tmp/gotest1-$$-$USER" +TMP2FILE="/tmp/gotest2-$$-$USER" # don't run the machine out of memory: limit individual processes to 4GB. # on thresher, 3GB suffices to run the tests; with 2GB, peano fails. @@ -64,20 +64,20 @@ do fi export F=$(basename $i .go) export D=$dir - sed '/^\/\//!q' $i | sed 's@//@@; $d' |sed 's|./\$A.out|$E &|g' >$RUNFILE - if ! { time -p bash -c "bash $RUNFILE >$TMP1FILE 2>&1" ; } 2>$TMP2FILE + sed '/^\/\//!q' $i | sed 's@//@@; $d' |sed 's|./\$A.out|$E &|g' >"$RUNFILE" + if ! { time -p bash -c "bash '$RUNFILE' >'$TMP1FILE' 2>&1" ; } 2>"$TMP2FILE" then echo echo "===========" $i - cat $TMP1FILE + cat "$TMP1FILE" echo >&2 fail: $i echo "# $i # fail" >>pass.out - elif test -s $TMP1FILE + elif test -s "$TMP1FILE" then echo echo "===========" $i - cat $TMP1FILE - if grep -q '^BUG' $TMP1FILE + cat "$TMP1FILE" + if grep -q '^BUG' "$TMP1FILE" then if [ $dir != bugs ] then @@ -93,13 +93,13 @@ do else echo $i >>pass.out fi - echo $(awk 'NR==1{print $2}' $TMP2FILE) $D/$F >>times.out + echo $(awk 'NR==1{print $2}' "$TMP2FILE") $D/$F >>times.out rm -f $F.$A $A.out ) done done | # clean up some stack noise egrep -v '^(r[0-9a-z]+|[cfg]s) +0x' | sed '/tmp.*Bus error/s/.*Bus/Bus/; /tmp.*Trace.BPT/s/.*Trace/Trace/ - s!'$RUNFILE'!$RUNFILE!g + s!'"$RUNFILE"'!$RUNFILE!g s/^PC=0x[0-9a-f]*/pc: xxx/ s/^pc: 0x[0-9a-f]*/pc: xxx/ s/PC=0x[0-9a-f]*/PC=xxx/ @@ -110,7 +110,7 @@ done | # clean up some stack noise /Segmentation fault/d /^qemu: uncaught target signal 11 (Segmentation fault) - exiting/d' > run.out -rm -f $RUNFILE $TMP1FILE $TMP2FILE *.$A *.a $A.out +rm -f "$RUNFILE" "$TMP1FILE" "$TMP2FILE" *.$A *.a $A.out diffmsg="" if ! diff $golden run.out then