diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/go.test/test/run | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/go.test/test/run')
-rwxr-xr-x | gcc/testsuite/go.test/test/run | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/gcc/testsuite/go.test/test/run b/gcc/testsuite/go.test/test/run new file mode 100755 index 000000000..4ca775414 --- /dev/null +++ b/gcc/testsuite/go.test/test/run @@ -0,0 +1,122 @@ +#!/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) + +case X"$GOARCH" in +Xamd64) + export A=6 + ;; +X386) + export A=8 + ;; +Xarm) + export A=5 + export E=${GORUN:-qemu-arm -cpu cortex-a8} + ;; +*) + echo 1>&2 run: unsupported '$GOARCH' + exit 1 +esac + +case X"$GOOS" in +Xnacl) + export E=${GORUN:-$GOROOT/misc/nacl/naclrun} +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 + +for dir in . ken chan interface nilptr syntax fixedbugs bugs +do + echo + echo '==' $dir'/' + for i in $(ls $dir/*.go 2>/dev/null) + do + export F=$(basename $i .go) + export D=$dir + sed '/^\/\//!q' $i | sed 's@//@@; $d' |sed 's|./\$A.out|$E &|' >$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 + 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.out 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 |