Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 1 | #!/bin/rc -e |
| 2 | # Copyright 2012 The Go Authors. All rights reserved. |
| 3 | # Use of this source code is governed by a BSD-style |
| 4 | # license that can be found in the LICENSE file. |
| 5 | |
Anthony Martin | f08acae | 2013-02-26 09:25:46 -0800 | [diff] [blame] | 6 | rfork e |
| 7 | |
| 8 | eval `{go env} |
| 9 | |
David du Colombier | 610dc92 | 2014-01-28 06:17:38 +0100 | [diff] [blame] | 10 | GOPATH = () # we disallow local import for non-local packages, if $GOROOT happens |
Anthony Martin | f08acae | 2013-02-26 09:25:46 -0800 | [diff] [blame] | 11 | # to be under $GOPATH, then some tests below will fail |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 12 | |
| 13 | # allow all.rc to avoid double-build of everything |
| 14 | rebuild = true |
| 15 | if(~ $1 --no-rebuild) |
| 16 | shift |
| 17 | if not { |
Anthony Martin | f08acae | 2013-02-26 09:25:46 -0800 | [diff] [blame] | 18 | # Run only one process at a time on 9vx. |
| 19 | if(~ $sysname vx32) |
| 20 | pflag = (-p 1) |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 21 | echo '# Building packages and commands.' |
Anthony Martin | f08acae | 2013-02-26 09:25:46 -0800 | [diff] [blame] | 22 | time go install -a -v $pflag std |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 23 | echo |
| 24 | } |
| 25 | |
Anthony Martin | f08acae | 2013-02-26 09:25:46 -0800 | [diff] [blame] | 26 | # we must unset GOROOT_FINAL before tests, because runtime/debug requires |
| 27 | # correct access to source code, so if we have GOROOT_FINAL in effect, |
| 28 | # at least runtime/debug test will fail. |
| 29 | GOROOT_FINAL = () |
| 30 | |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 31 | echo '# Testing packages.' |
David du Colombier | 8c69ce0 | 2015-01-07 23:32:34 +0100 | [diff] [blame] | 32 | time go test std -short -timeout 240s |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 33 | echo |
| 34 | |
Brad Fitzpatrick | abb2aa2 | 2015-01-07 20:10:32 -0800 | [diff] [blame] | 35 | # Temporary GCE builder hack until Plan 9 on GCE is fast enough. |
| 36 | # See https://golang.org/issue/9491 |
| 37 | if(~ $GOTESTONLY std) { |
| 38 | echo |
| 39 | echo PARTIAL TESTS PASSED: std |
| 40 | exit |
| 41 | } |
| 42 | |
Dmitriy Vyukov | 1304584 | 2014-03-06 13:16:14 +0400 | [diff] [blame] | 43 | # We set GOMAXPROCS=2 in addition to -cpu=1,2,4 in order to test runtime bootstrap code, |
| 44 | # creation of first goroutines and first garbage collections in the parallel setting. |
Brad Fitzpatrick | e16ab38 | 2015-01-07 17:05:51 -0800 | [diff] [blame] | 45 | # TODO(bradfitz,0intro): make this not be 15 minutes once Plan 9 runs quickly on GCE. |
| 46 | # Linux does 63 seconds on GCE, but Plan 9 was failing with 8 minutes. |
| 47 | # See issue 8393 and 9491. |
| 48 | # TODO(bradfitz,0intro): remove -v once we see some a successful build. |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 49 | echo '# GOMAXPROCS=2 runtime -cpu=1,2,4' |
Brad Fitzpatrick | e16ab38 | 2015-01-07 17:05:51 -0800 | [diff] [blame] | 50 | GOMAXPROCS=2 go test runtime -v -short -timeout 15m -cpu 1,2,4 |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 51 | echo |
| 52 | |
| 53 | echo '# sync -cpu=10' |
| 54 | go test sync -short -timeout 120s -cpu 10 |
| 55 | echo |
| 56 | |
| 57 | fn xcd { |
| 58 | echo |
| 59 | echo '#' $1 |
| 60 | cd $"GOROOT/src/$1 |
| 61 | } |
| 62 | |
| 63 | echo |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 64 | echo '#' ../test/bench/go1 |
| 65 | go test ../test/bench/go1 |
| 66 | |
| 67 | @{ |
| 68 | xcd ../test |
Anthony Martin | a7fe1f1 | 2014-07-20 13:14:53 +0300 | [diff] [blame] | 69 | GOMAXPROCS='' time go run run.go -v |
Anthony Martin | 3859032 | 2012-05-01 22:32:46 -0700 | [diff] [blame] | 70 | } |
| 71 | |
| 72 | echo |
| 73 | echo ALL TESTS PASSED |