script for running test programs in interpreter.
tweak test/literal.go to give more information. R=austin DELTA=45 (43 added, 0 deleted, 2 changed) OCL=34381 CL=34398
This commit is contained in:
parent
c7d27f88f8
commit
c702bdd828
@ -6,10 +6,15 @@
|
|||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
var nbad int
|
||||||
|
|
||||||
func assert(cond bool, msg string) {
|
func assert(cond bool, msg string) {
|
||||||
if !cond {
|
if !cond {
|
||||||
print("assertion fail: ", msg, "\n");
|
if nbad == 0 {
|
||||||
panic(1);
|
print("BUG");
|
||||||
|
}
|
||||||
|
nbad++;
|
||||||
|
print(" ", msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,4 +215,8 @@ func main() {
|
|||||||
assert(sj0 == sj1, "sj1");
|
assert(sj0 == sj1, "sj1");
|
||||||
assert(sj0 == sj2, "sj2");
|
assert(sj0 == sj2, "sj2");
|
||||||
assert(sj0 == sj3, "sj3");
|
assert(sj0 == sj3, "sj3");
|
||||||
|
|
||||||
|
if nbad > 0 {
|
||||||
|
println()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
34
usr/austin/eval/test.bash
Executable file
34
usr/austin/eval/test.bash
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright 2009 The Go Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style
|
||||||
|
# license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
# Run the interpreter against all the Go test programs
|
||||||
|
# that begin with the magic
|
||||||
|
# // $G $D/$F.go && $L $F.$A && ./$A.out
|
||||||
|
# line and do not contain imports.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
make
|
||||||
|
6g main.go && 6l main.6
|
||||||
|
(
|
||||||
|
for i in $(egrep -l '// \$G (\$D/)?\$F\.go \&\& \$L \$F\.\$A && \./\$A\.out' $GOROOT/test/*.go $GOROOT/test/*/*.go)
|
||||||
|
do
|
||||||
|
if grep '^import' $i >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
true
|
||||||
|
else
|
||||||
|
if $GOROOT/usr/austin/eval/6.out -f $i >/tmp/out 2>&1 && ! test -s /tmp/out
|
||||||
|
then
|
||||||
|
echo PASS $i
|
||||||
|
else
|
||||||
|
echo FAIL $i
|
||||||
|
(
|
||||||
|
echo '>>> ' $i
|
||||||
|
cat /tmp/out
|
||||||
|
echo
|
||||||
|
) 1>&3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done | (tee /dev/fd/2 | awk '{print $1}' | sort | uniq -c) 2>&1
|
||||||
|
) 3>test.log
|
Loading…
x
Reference in New Issue
Block a user