mirror of
https://github.com/golang/go
synced 2024-11-25 02:57:57 -07:00
make sure errchk only prints BUG once.
using a variable is not sufficient, because sometimes bug() is called from a subshell. R=iant DELTA=7 (2 added, 1 deleted, 4 changed) OCL=18092 CL=18145
This commit is contained in:
parent
7112dc1db7
commit
eb5a316fa6
11
test/errchk
11
test/errchk
@ -29,9 +29,11 @@ TMPERR=/tmp/errchk-err-$$
|
||||
TMPALL=/tmp/errchk-all-$$
|
||||
TMPTMP=/tmp/errchk-tmp-$$
|
||||
TMPSTAT=/tmp/errchk-stat-$$
|
||||
rm -f $TMPOUT $TMPERR $TMPALL $TMPTMP $TMPSTAT
|
||||
TMPBUG=/tmp/errchk-bug-$$
|
||||
|
||||
trap "rm -f $TMPOUT $TMPERR $TMPALL $TMPTMP $TMPSTAT" 0 1 2 3 14 15
|
||||
rm -f $TMPOUT $TMPERR $TMPALL $TMPTMP $TMPSTAT $TMPBUG
|
||||
|
||||
trap "rm -f $TMPOUT $TMPERR $TMPALL $TMPTMP $TMPSTAT $TMPBUG" 0 1 2 3 14 15
|
||||
|
||||
if $* >$TMPOUT 2>$TMPERR; then
|
||||
echo 1>&2 "BUG: errchk: command succeeded unexpectedly: " "$@"
|
||||
@ -43,12 +45,11 @@ fi
|
||||
|
||||
cat $TMPOUT $TMPERR | grep -v '^ ' > $TMPALL
|
||||
|
||||
didbug=false
|
||||
bug() {
|
||||
if ! $didbug
|
||||
if ! test -f $TMPBUG
|
||||
then
|
||||
echo 1>&2 -n BUG: ''
|
||||
didbug=true
|
||||
echo >$TMPBUG
|
||||
fi
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user