diff options
Diffstat (limited to 'test/run')
-rwxr-xr-x | test/run | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/test/run b/test/run deleted file mode 100755 index bb6119836..000000000 --- a/test/run +++ /dev/null @@ -1,130 +0,0 @@ -#!/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. - -eval $(gomake --no-print-directory -f ../src/Make.inc go-env) - -export E= - -case X"$GOARCH" in -Xamd64) - export A=6 - ;; -X386) - export A=8 - ;; -Xarm) - export A=5 - export E="$GORUN" - ;; -*) - echo 1>&2 run: unsupported '$GOARCH' - exit 1 -esac - -export G=${A}g -export L=${A}l -export GOTRACEBACK=0 -export LANG=C -unset GREP_OPTIONS # in case user has a non-standard set - -failed=0 - -PATH=/bin:/usr/bin:/usr/local/bin:${GOBIN:-$GOROOT/bin}:`pwd` - -RUNFILE=/tmp/gorun-$$-$USER -TMP1FILE=/tmp/gotest1-$$-$USER -TMP2FILE=/tmp/gotest2-$$-$USER - -# 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. -ulimit -v 4000000 - -# no core files please -ulimit -c 0 - -true >pass.out >times.out - -exclude=false # exclude nothing -golden=golden.out - -filterout() { - grep '^'"$2"'$' $1 >/dev/null -} - -for dir in . ken chan interface nilptr syntax fixedbugs bugs -do - echo - echo '==' $dir'/' - for i in $(ls $dir/*.go 2>/dev/null) - do ( - if $exclude $i; then - exit 0 # continues for loop - fi - export F=$(basename $i .go) - export D=$dir - 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 - then - echo - echo "===========" $i - cat $TMP1FILE - echo >&2 fail: $i - echo "# $i # fail" >>pass.out - elif test -s $TMP1FILE - then - echo - echo "===========" $i - cat $TMP1FILE - if grep -q '^BUG' $TMP1FILE - then - if [ $dir != bugs ] - then - echo >&2 bug: $i - fi - echo "# $i # fail, BUG" >>pass.out - else - echo $i >>pass.out - fi - elif [ $dir = "bugs" ] - then - echo $i succeeded with no output. - else - echo $i >>pass.out - fi - echo $(awk 'NR==1{print $2}' $TMP2FILE) $D/$F >>times.out - rm -f $F.$A $A.out - ) done -done | # clean up some stack noise - egrep -v '^(r[0-9a-z]+|[cfg]s) +0x' | - sed '/tmp.*Bus error/s/.*Bus/Bus/; /tmp.*Trace.BPT/s/.*Trace/Trace/ - 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/ - /^Trace\/breakpoint trap/d - /^Trace\/BPT trap/d - /RUNFILE/ s/line 1: *[0-9]*/line 1: PID/ - /^\$RUNFILE: line 1: PID Trace\/breakpoint trap/d - /Segmentation fault/d - /^qemu: uncaught target signal 11 (Segmentation fault) - exiting/d' > run.out - -rm -f $RUNFILE $TMP1FILE $TMP2FILE *.$A *.a $A.out -diffmsg="" -if ! diff $golden run.out -then - diffmsg="; test output differs" - failed=1 -fi - -notinbugs=$(sed '/^== bugs/q' run.out | grep -c '^BUG') -inbugs=$(sed '1,/^== bugs/d' run.out | grep -c '^BUG') - -echo 2>&1 $inbugs known bugs';' $notinbugs unexpected bugs$diffmsg - -if [ "$failed" != "0" ]; then - echo FAILED -fi - -exit $failed |