mirror of
https://github.com/golang/go
synced 2024-11-21 17:44:40 -07:00
build: make all.bash run on Ubuntu ARM
Sent from my phone. R=adg CC=golang-dev https://golang.org/cl/2192049
This commit is contained in:
parent
96d6f9dea4
commit
b7cb844ac8
@ -44,10 +44,10 @@ architectures.
|
||||
<code>arm</code> (a.k.a. <code>ARM</code>); <code>5g,5l,5c,5a</code>
|
||||
</dt>
|
||||
<dd>
|
||||
Still a work in progress.
|
||||
It only supports Linux binaries, floating point is weak, and the
|
||||
optimizer is not enabled.
|
||||
Tested against QEMU and an android phone.
|
||||
Incomplete.
|
||||
It only supports Linux binaries, floating point is weak,
|
||||
it has code generation bugs, and the optimizer is not enabled.
|
||||
Tested against a Nexus One.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
@ -9,6 +9,8 @@
|
||||
#
|
||||
# to rebuild the dependency information in Make.deps.
|
||||
|
||||
include ../Make.inc
|
||||
|
||||
all: install
|
||||
|
||||
DIRS=\
|
||||
@ -197,6 +199,69 @@ NOTEST+=time # no syscall.Kill, syscall.SIGCHLD for sleep tests
|
||||
NOTEST+=websocket # no network
|
||||
endif
|
||||
|
||||
ifeq ($(GOARCH),arm)
|
||||
# Tests that fail, probably 5g bugs.
|
||||
# Disable so that dashboard all.bash can catch regressions.
|
||||
NOTEST+=archive/tar
|
||||
NOTEST+=asn1
|
||||
NOTEST+=big
|
||||
NOTEST+=bytes
|
||||
NOTEST+=cmath
|
||||
NOTEST+=compress/gzip
|
||||
NOTEST+=compress/zlib
|
||||
NOTEST+=crypto/aes
|
||||
NOTEST+=crypto/block
|
||||
NOTEST+=crypto/blowfish
|
||||
NOTEST+=crypto/ocsp
|
||||
NOTEST+=crypto/rc4
|
||||
NOTEST+=crypto/rsa
|
||||
NOTEST+=crypto/subtle
|
||||
NOTEST+=crypto/tls
|
||||
NOTEST+=crypto/x509
|
||||
NOTEST+=debug/dwarf
|
||||
NOTEST+=debug/elf
|
||||
NOTEST+=debug/macho
|
||||
NOTEST+=encoding/base64
|
||||
NOTEST+=encoding/binary
|
||||
NOTEST+=encoding/pem
|
||||
NOTEST+=exp/datafmt
|
||||
NOTEST+=exp/eval
|
||||
NOTEST+=expvar
|
||||
NOTEST+=flag
|
||||
NOTEST+=fmt
|
||||
NOTEST+=go/printer
|
||||
NOTEST+=gob
|
||||
NOTEST+=http
|
||||
NOTEST+=image/png
|
||||
NOTEST+=io
|
||||
NOTEST+=json
|
||||
NOTEST+=log
|
||||
NOTEST+=math
|
||||
NOTEST+=mime
|
||||
NOTEST+=mime/multipart
|
||||
NOTEST+=net
|
||||
NOTEST+=netchan
|
||||
NOTEST+=os
|
||||
NOTEST+=os/signal
|
||||
NOTEST+=patch
|
||||
NOTEST+=reflect
|
||||
NOTEST+=regexp
|
||||
NOTEST+=rpc
|
||||
NOTEST+=rpc/jsonrpc
|
||||
NOTEST+=scanner
|
||||
NOTEST+=strconv
|
||||
NOTEST+=strings
|
||||
NOTEST+=syslog
|
||||
NOTEST+=tabwriter
|
||||
NOTEST+=template
|
||||
NOTEST+=testing/quick
|
||||
NOTEST+=time
|
||||
NOTEST+=utf16
|
||||
NOTEST+=utf8
|
||||
NOTEST+=websocket
|
||||
NOTEST+=xml
|
||||
endif
|
||||
|
||||
TEST=\
|
||||
$(filter-out $(NOTEST),$(DIRS))
|
||||
|
||||
|
@ -59,6 +59,7 @@ fi
|
||||
GOMAXPROCS=10 gomake test
|
||||
) || exit $?
|
||||
|
||||
[ "$GOARCH" == arm ] ||
|
||||
(xcd cmd/gofmt
|
||||
if $rebuild; then
|
||||
gomake clean;
|
||||
@ -75,6 +76,7 @@ fi
|
||||
time gomake test
|
||||
) || exit $?
|
||||
|
||||
[ "$GOARCH" == arm ] ||
|
||||
(xcd ../misc/cgo/stdio
|
||||
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
||||
gomake clean
|
||||
@ -93,6 +95,7 @@ if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
||||
fi
|
||||
) || exit $?
|
||||
|
||||
[ "$GOARCH" == arm ] ||
|
||||
(xcd ../test/bench
|
||||
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
|
||||
./timing.sh -test
|
||||
|
28
test/run
28
test/run
@ -49,12 +49,32 @@ ulimit -c 0
|
||||
|
||||
true >pass.out >times.out
|
||||
|
||||
exclude=false # exclude nothing
|
||||
golden=golden.out
|
||||
|
||||
filterout() {
|
||||
grep '^'"$2"'$' $1 >/dev/null
|
||||
}
|
||||
|
||||
if [ "$GOARCH" = "arm" ]; then
|
||||
if [ "$GORUN" = "" ]; then
|
||||
exclude="filterout fail-arm-native.txt"
|
||||
golden=golden-arm-native.out
|
||||
else
|
||||
exclude="filterout fail-arm.txt"
|
||||
golden=golden-arm.out
|
||||
fi
|
||||
fi
|
||||
|
||||
for dir in . ken chan interface nilptr syntax fixedbugs bugs
|
||||
do
|
||||
echo
|
||||
echo '==' $dir'/'
|
||||
for i in $(ls $dir/*.go 2>/dev/null)
|
||||
do
|
||||
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
|
||||
@ -87,7 +107,7 @@ do
|
||||
echo $i >>pass.out
|
||||
fi
|
||||
echo $(awk 'NR==1{print $2}' $TMP2FILE) $D/$F >>times.out
|
||||
done
|
||||
) 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/
|
||||
@ -103,9 +123,9 @@ done | # clean up some stack noise
|
||||
/Segmentation fault/d
|
||||
/^qemu: uncaught target signal 11 (Segmentation fault) - exiting/d' > run.out
|
||||
|
||||
rm -f $RUNFILE $TMP1FILE $TMP2FILE *.$A *.a $A.out
|
||||
rm -f $RUNFILE $TMP1FILE $TMP2FILE *.$A *.a $A.out
|
||||
diffmsg=""
|
||||
if ! diff golden.out run.out
|
||||
if ! diff $golden run.out
|
||||
then
|
||||
diffmsg="; test output differs"
|
||||
failed=1
|
||||
|
Loading…
Reference in New Issue
Block a user