mirror of
https://github.com/golang/go
synced 2024-11-22 01:44:40 -07:00
build: handle spaces in $USER
Fixes #2107. R=golang-dev, r CC=golang-dev https://golang.org/cl/4830042
This commit is contained in:
parent
e0d6f95069
commit
fe206e63ca
@ -111,7 +111,8 @@ function getFunctions() {
|
|||||||
functions=$(getFunctions)
|
functions=$(getFunctions)
|
||||||
|
|
||||||
# Write file to compile
|
# Write file to compile
|
||||||
rm -f /tmp/$USER.try.go
|
file="/tmp/$USER.try"
|
||||||
|
rm -f "file.go"
|
||||||
(
|
(
|
||||||
cat <<'!'
|
cat <<'!'
|
||||||
package main
|
package main
|
||||||
@ -159,9 +160,9 @@ var _ os.Error
|
|||||||
func toSlice(a ...interface{}) []interface{} { return a }
|
func toSlice(a ...interface{}) []interface{} { return a }
|
||||||
!
|
!
|
||||||
|
|
||||||
)>/tmp/$USER.try.go
|
)>"$file.go"
|
||||||
|
|
||||||
$GC -o /tmp/$USER.try.$O /tmp/$USER.try.go &&
|
$GC -o "$file.$O" "$file.go" &&
|
||||||
$GL -o /tmp/$USER.try /tmp/$USER.try.$O &&
|
$GL -o "$file" "$file.$O" &&
|
||||||
/tmp/$USER.try "_$@"
|
"$file" "_$@"
|
||||||
rm -f /tmp/$USER.try /tmp/$USER.try.go /tmp/$USER.try.$O
|
rm -f "$file" "$file.go" "$file.$O"
|
||||||
|
@ -32,13 +32,13 @@ case "$(uname -m -p)-$GOHOSTARCH" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# Run gcc, save error status, redisplay output without noise, exit with gcc status.
|
# 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 \
|
$gcc -Wall -Wno-sign-compare -Wno-missing-braces \
|
||||||
-Wno-parentheses -Wno-unknown-pragmas -Wno-switch -Wno-comment \
|
-Wno-parentheses -Wno-unknown-pragmas -Wno-switch -Wno-comment \
|
||||||
-Werror \
|
-Werror \
|
||||||
"$@" >$tmp 2>&1
|
"$@" >"$tmp" 2>&1
|
||||||
status=$?
|
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
|
exit $status
|
||||||
|
24
test/run
24
test/run
@ -33,9 +33,9 @@ failed=0
|
|||||||
|
|
||||||
PATH=/bin:/usr/bin:/usr/local/bin:${GOBIN:-$GOROOT/bin}:`pwd`
|
PATH=/bin:/usr/bin:/usr/local/bin:${GOBIN:-$GOROOT/bin}:`pwd`
|
||||||
|
|
||||||
RUNFILE=/tmp/gorun-$$-$USER
|
RUNFILE="/tmp/gorun-$$-$USER"
|
||||||
TMP1FILE=/tmp/gotest1-$$-$USER
|
TMP1FILE="/tmp/gotest1-$$-$USER"
|
||||||
TMP2FILE=/tmp/gotest2-$$-$USER
|
TMP2FILE="/tmp/gotest2-$$-$USER"
|
||||||
|
|
||||||
# don't run the machine out of memory: limit individual processes to 4GB.
|
# 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.
|
# on thresher, 3GB suffices to run the tests; with 2GB, peano fails.
|
||||||
@ -64,20 +64,20 @@ do
|
|||||||
fi
|
fi
|
||||||
export F=$(basename $i .go)
|
export F=$(basename $i .go)
|
||||||
export D=$dir
|
export D=$dir
|
||||||
sed '/^\/\//!q' $i | sed 's@//@@; $d' |sed 's|./\$A.out|$E &|g' >$RUNFILE
|
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
|
if ! { time -p bash -c "bash '$RUNFILE' >'$TMP1FILE' 2>&1" ; } 2>"$TMP2FILE"
|
||||||
then
|
then
|
||||||
echo
|
echo
|
||||||
echo "===========" $i
|
echo "===========" $i
|
||||||
cat $TMP1FILE
|
cat "$TMP1FILE"
|
||||||
echo >&2 fail: $i
|
echo >&2 fail: $i
|
||||||
echo "# $i # fail" >>pass.out
|
echo "# $i # fail" >>pass.out
|
||||||
elif test -s $TMP1FILE
|
elif test -s "$TMP1FILE"
|
||||||
then
|
then
|
||||||
echo
|
echo
|
||||||
echo "===========" $i
|
echo "===========" $i
|
||||||
cat $TMP1FILE
|
cat "$TMP1FILE"
|
||||||
if grep -q '^BUG' $TMP1FILE
|
if grep -q '^BUG' "$TMP1FILE"
|
||||||
then
|
then
|
||||||
if [ $dir != bugs ]
|
if [ $dir != bugs ]
|
||||||
then
|
then
|
||||||
@ -93,13 +93,13 @@ do
|
|||||||
else
|
else
|
||||||
echo $i >>pass.out
|
echo $i >>pass.out
|
||||||
fi
|
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
|
rm -f $F.$A $A.out
|
||||||
) done
|
) done
|
||||||
done | # clean up some stack noise
|
done | # clean up some stack noise
|
||||||
egrep -v '^(r[0-9a-z]+|[cfg]s) +0x' |
|
egrep -v '^(r[0-9a-z]+|[cfg]s) +0x' |
|
||||||
sed '/tmp.*Bus error/s/.*Bus/Bus/; /tmp.*Trace.BPT/s/.*Trace/Trace/
|
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/
|
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
|
/Segmentation fault/d
|
||||||
/^qemu: uncaught target signal 11 (Segmentation fault) - exiting/d' > run.out
|
/^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=""
|
diffmsg=""
|
||||||
if ! diff $golden run.out
|
if ! diff $golden run.out
|
||||||
then
|
then
|
||||||
|
Loading…
Reference in New Issue
Block a user