1
0
mirror of https://github.com/golang/go synced 2024-11-22 05:54:40 -07:00

expanded arm regression testing. will go away once 5g is compliant

R=rsc
APPROVED=rsc
DELTA=300  (297 added, 0 deleted, 3 changed)
OCL=34813
CL=34821
This commit is contained in:
Kai Backman 2009-09-18 19:09:29 -07:00
parent 1c71ab1808
commit e4eaf4c24e
3 changed files with 300 additions and 3 deletions

View File

@ -8,6 +8,15 @@ bash make-arm.bash
# TODO(kaib): add in proper tests
#bash run.bash
5g -o hello.5 /home/kaib/work/go/hello.go
5l -o 5.out hello.5
qemu-arm -cpu cortex-a8 5.out|grep -q "Hello World"
set -e
xcd() {
echo
echo --- cd $1
builtin cd $1
}
(xcd ../test
./run-arm
) || exit $?

207
test/arm-pass.txt Normal file
View File

@ -0,0 +1,207 @@
64bit.go
assign.go
blank1.go
bugs/bug136.go
bugs/bug169.go
bugs/bug190.go
bugs/bug193.go
bugs/bug196.go
bugs/bug198.go
chan/perm.go
cmp2.go
cmp3.go
cmp4.go
cmp5.go
const1.go
const2.go
convert3.go
convlit.go
convlit1.go
declbad.go
empty.go
escape1.go
fixedbugs/bug000.go
fixedbugs/bug001.go
fixedbugs/bug002.go
fixedbugs/bug003.go
fixedbugs/bug004.go
fixedbugs/bug005.go
fixedbugs/bug007.go
fixedbugs/bug008.go
fixedbugs/bug009.go
fixedbugs/bug013.go
fixedbugs/bug014.go
fixedbugs/bug015.go
fixedbugs/bug016.go
fixedbugs/bug017.go
fixedbugs/bug020.go
fixedbugs/bug021.go
fixedbugs/bug022.go
fixedbugs/bug023.go
fixedbugs/bug024.go
fixedbugs/bug026.go
fixedbugs/bug030.go
fixedbugs/bug031.go
fixedbugs/bug035.go
fixedbugs/bug036.go
fixedbugs/bug037.go
fixedbugs/bug038.go
fixedbugs/bug039.go
fixedbugs/bug040.go
fixedbugs/bug046.go
fixedbugs/bug049.go
fixedbugs/bug050.go
fixedbugs/bug051.go
fixedbugs/bug053.go
fixedbugs/bug057.go
fixedbugs/bug058.go
fixedbugs/bug061.go
fixedbugs/bug062.go
fixedbugs/bug063.go
fixedbugs/bug064.go
fixedbugs/bug065.go
fixedbugs/bug066.go
fixedbugs/bug068.go
fixedbugs/bug070.go
fixedbugs/bug071.go
fixedbugs/bug072.go
fixedbugs/bug073.go
fixedbugs/bug074.go
fixedbugs/bug076.go
fixedbugs/bug077.go
fixedbugs/bug078.go
fixedbugs/bug080.go
fixedbugs/bug081.go
fixedbugs/bug082.go
fixedbugs/bug083.go
fixedbugs/bug085.go
fixedbugs/bug086.go
fixedbugs/bug087.go
fixedbugs/bug088.go
fixedbugs/bug089.go
fixedbugs/bug090.go
fixedbugs/bug091.go
fixedbugs/bug093.go
fixedbugs/bug094.go
fixedbugs/bug096.go
fixedbugs/bug097.go
fixedbugs/bug098.go
fixedbugs/bug099.go
fixedbugs/bug102.go
fixedbugs/bug103.go
fixedbugs/bug104.go
fixedbugs/bug106.go
fixedbugs/bug107.go
fixedbugs/bug108.go
fixedbugs/bug109.go
fixedbugs/bug110.go
fixedbugs/bug111.go
fixedbugs/bug112.go
fixedbugs/bug113.go
fixedbugs/bug114.go
fixedbugs/bug115.go
fixedbugs/bug116.go
fixedbugs/bug118.go
fixedbugs/bug119.go
fixedbugs/bug120.go
fixedbugs/bug121.go
fixedbugs/bug122.go
fixedbugs/bug123.go
fixedbugs/bug125.go
fixedbugs/bug126.go
fixedbugs/bug127.go
fixedbugs/bug128.go
fixedbugs/bug129.go
fixedbugs/bug130.go
fixedbugs/bug131.go
fixedbugs/bug132.go
fixedbugs/bug133.go
fixedbugs/bug135.go
fixedbugs/bug137.go
fixedbugs/bug139.go
fixedbugs/bug140.go
fixedbugs/bug141.go
fixedbugs/bug142.go
fixedbugs/bug143.go
fixedbugs/bug144.go
fixedbugs/bug145.go
fixedbugs/bug146.go
fixedbugs/bug147.go
fixedbugs/bug148.go
fixedbugs/bug149.go
fixedbugs/bug150.go
fixedbugs/bug151.go
fixedbugs/bug153.go
fixedbugs/bug154.go
fixedbugs/bug155.go
fixedbugs/bug156.go
fixedbugs/bug157.go
fixedbugs/bug158.go
fixedbugs/bug159.go
fixedbugs/bug161.go
fixedbugs/bug163.go
fixedbugs/bug164.go
fixedbugs/bug165.go
fixedbugs/bug166.go
fixedbugs/bug167.go
fixedbugs/bug168.go
fixedbugs/bug170.go
fixedbugs/bug171.go
fixedbugs/bug172.go
fixedbugs/bug173.go
fixedbugs/bug174.go
fixedbugs/bug175.go
fixedbugs/bug176.go
fixedbugs/bug178.go
fixedbugs/bug179.go
fixedbugs/bug181.go
fixedbugs/bug182.go
fixedbugs/bug183.go
fixedbugs/bug185.go
fixedbugs/bug186.go
fixedbugs/bug188.go
fixedbugs/bug189.go
fixedbugs/bug191.go
fixedbugs/bug192.go
fixedbugs/bug194.go
fixedbugs/bug195.go
fixedbugs/bug197.go
fixedbugs/bug200.go
fixedbugs/bug201.go
fixedbugs/bug202.go
fixedbugs/bug203.go
fixedbugs/bug205.go
fixedbugs/bug206.go
func1.go
func2.go
func3.go
func4.go
gc1.go
helloworld.go
import1.go
indirect.go
indirect1.go
initializerr.go
interface/convert1.go
interface/convert2.go
interface/explicit.go
interface/fail.go
interface/pointer.go
interface/receiver1.go
interface/recursive.go
interface/struct.go
iota.go
ken/complit.go
ken/label.go
ken/mfunc.go
ken/simpprint.go
ken/simpswitch.go
ken/simpvar.go
method1.go
method2.go
method3.go
parentype.go
printbig.go
rename1.go
simassign.go
varinit.go

81
test/run-arm Executable file
View File

@ -0,0 +1,81 @@
#!/bin/sh
# 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.
export E=""
case X"$GOARCH" in
Xamd64)
export A=6
;;
X386)
export A=8
;;
Xarm)
export A=5
export E="qemu-arm -cpu cortex-a8 "
;;
*)
echo 1>&2 run: unsupported '$GOARCH'
exit 1
esac
export G=${A}g
export L=${A}l
export GOTRACEBACK=0
failed=0
PATH=/bin:/usr/bin:/usr/local/bin:${GOBIN:-$HOME/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
for i in $(cat arm-pass.txt)
do
export F=$(basename $i .go)
dir=$(dirname $i)
export D=$dir
sed '/^\/\//!q; s|//||g; s|./\$A.out|$E &|' $i >$RUNFILE
if ! sh $RUNFILE >$TMP1FILE 2>$TMP2FILE
then
echo
echo "===========" $i
cat $TMP1FILE
cat $TMP2FILE
echo >&2 fail: $i
elif test -s $TMP1FILE || test -s $TMP2FILE
then
echo
echo "===========" $i
cat $TMP1FILE
cat $TMP2FILE
elif [ $dir = "bugs" ]
then
echo $i succeeded with no output.
fi
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/
/^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
/^qemu: uncaught target signal 11 (Segmentation fault) - exiting/d' > run.out
case $failed in
1)
echo FAIL
esac
rm -f $RUNFILE $TMP1FILE $TMP2FILE *.$A $A.out
exit $failed