| #!/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 240s | |
| echo | |
| # Temporary GCE builder hack until Plan 9 on GCE is fast enough. | |
| # See https://golang.org/issue/9491 | |
| if(~ $GOTESTONLY std) { | |
| echo | |
| echo PARTIAL TESTS PASSED: std | |
| exit | |
| } | |
| # 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. | |
| # TODO(bradfitz,0intro): make this not be 15 minutes once Plan 9 runs quickly on GCE. | |
| # Linux does 63 seconds on GCE, but Plan 9 was failing with 8 minutes. | |
| # See issue 8393 and 9491. | |
| # TODO(bradfitz,0intro): remove -v once we see some a successful build. | |
| echo '# GOMAXPROCS=2 runtime -cpu=1,2,4' | |
| GOMAXPROCS=2 go test runtime -v -short -timeout 15m -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 '#' ../test/bench/go1 | |
| go test ../test/bench/go1 | |
| @{ | |
| xcd ../test | |
| GOMAXPROCS='' time go run run.go -v | |
| } | |
| echo | |
| echo ALL TESTS PASSED |