| #!/bin/rc -e |
| # Copyright 2012 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. |
| |
| rfork e |
| |
| eval `{go env} |
| |
| GOPATH = () # we disallow local import for non-local packages, if $GOROOT happens |
| # to be under $GOPATH, then some tests below will fail |
| |
| # allow all.rc to avoid double-build of everything |
| rebuild = true |
| if(~ $1 --no-rebuild) |
| shift |
| if not { |
| # Run only one process at a time on 9vx. |
| if(~ $sysname vx32) |
| pflag = (-p 1) |
| echo '# Building packages and commands.' |
| time go install -a -v $pflag std |
| echo |
| } |
| |
| # we must unset GOROOT_FINAL before tests, because runtime/debug requires |
| # correct access to source code, so if we have GOROOT_FINAL in effect, |
| # at least runtime/debug test will fail. |
| GOROOT_FINAL = () |
| |
| echo '# Testing packages.' |
| time go test std -short -timeout 120s |
| echo |
| |
| # We set GOMAXPROCS=2 in addition to -cpu=1,2,4 in order to test runtime bootstrap code, |
| # creation of first goroutines and first garbage collections in the parallel setting. |
| echo '# GOMAXPROCS=2 runtime -cpu=1,2,4' |
| GOMAXPROCS=2 go test runtime -short -timeout 240s -cpu 1,2,4 |
| echo |
| |
| echo '# sync -cpu=10' |
| go test sync -short -timeout 120s -cpu 10 |
| echo |
| |
| fn xcd { |
| echo |
| echo '#' $1 |
| cd $"GOROOT/src/$1 |
| } |
| |
| echo |
| echo '#' ../misc/goplay |
| go build ../misc/goplay |
| |
| echo |
| echo '#' ../test/bench/go1 |
| go test ../test/bench/go1 |
| |
| @{ |
| xcd ../test |
| GOMAXPROCS='' time go run run.go |
| } |
| |
| echo |
| echo ALL TESTS PASSED |