| #!/usr/bin/env 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 | |
| gomake | |
| 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 |