]> Cypherpunks repositories - gostls13.git/commitdiff
make sure errchk only says BUG once,
authorRuss Cox <rsc@golang.org>
Fri, 17 Oct 2008 14:41:18 +0000 (07:41 -0700)
committerRuss Cox <rsc@golang.org>
Fri, 17 Oct 2008 14:41:18 +0000 (07:41 -0700)
so that run's count is correct

R=iant,r
DELTA=20  (12 added, 0 deleted, 8 changed)
OCL=17329
CL=17342

test/errchk
test/golden.out

index 61b77e39d231d0c86afdd03d2ff1a80edc1251dc..a8476a62589bf662c6b34f2fefb4cae5fde0d53a 100755 (executable)
@@ -43,6 +43,15 @@ fi
 
 cat $TMPOUT $TMPERR | grep -v '^       ' > $TMPALL
 
+didbug=false
+bug() {
+  if ! $didbug
+  then
+    echo 1>&2 -n BUG: ''
+    didbug=true
+  fi
+}
+
 header=0
 echo 0 > $TMPSTAT
 pr -n -t $SOURCEFILE | grep '// ERROR' | while read line; do
@@ -52,17 +61,20 @@ pr -n -t $SOURCEFILE | grep '// ERROR' | while read line; do
   grep -v "$SOURCEFILE:$lineno" < $TMPALL > $TMPTMP
   mv -f $TMPTMP $TMPALL
   if test -z "$errmsg"; then
-    echo 1>&2 "BUG: errchk: $SOURCEFILE: missing expected error message on line $lineno: '$regexp'"
+    bug
+    echo 1>&2 "errchk: $SOURCEFILE: missing expected error message on line $lineno: '$regexp'"
     echo 1 > $TMPSTAT
   elif ! echo "$errmsg" | egrep -q "$regexp"; then
-    echo 1>&2 "BUG: errchk: $SOURCEFILE: error message on line $lineno does not match '$regexp'"
+    bug
+    echo 1>&2 "errchk: $SOURCEFILE: error message on line $lineno does not match '$regexp'"
     echo 1>&2 $errmsg
     echo 1 > $TMPSTAT
   fi
 done
 
 if test -s $TMPALL; then
-  echo 1>&2 "BUG: errchk: $SOURCEFILE: unmatched error messages:"
+  bug
+  echo 1>&2 "errchk: $SOURCEFILE: unmatched error messages:"
   echo 1>&2 "=================================================="
   cat 1>&2 $TMPALL
   echo 1>&2 "=================================================="
index 230a451fd5e8248a160c0017c52f3ba8970463f7..c96ae5bffe9606b5cbbc8e557ceb2b69525664f8 100644 (file)
@@ -2,11 +2,11 @@
 =========== ./convlit.go
 BUG: convlit.go fails
 BUG: errchk: ./convlit.go: missing expected error message on line 16: 'conver'
-BUG: errchk: ./convlit.go: missing expected error message on line 17: 'conver'
-BUG: errchk: ./convlit.go: missing expected error message on line 18: 'conver'
-BUG: errchk: ./convlit.go: missing expected error message on line 22: 'convert'
-BUG: errchk: ./convlit.go: missing expected error message on line 23: 'overflow'
-BUG: errchk: ./convlit.go: missing expected error message on line 24: 'overflow'
+errchk: ./convlit.go: missing expected error message on line 17: 'conver'
+errchk: ./convlit.go: missing expected error message on line 18: 'conver'
+errchk: ./convlit.go: missing expected error message on line 22: 'convert'
+errchk: ./convlit.go: missing expected error message on line 23: 'overflow'
+errchk: ./convlit.go: missing expected error message on line 24: 'overflow'
 BUG: errchk: ./convlit.go: unmatched error messages:
 ==================================================
 ./convlit.go:8: cannot convert non-integer constant to int32