]> Cypherpunks.ru repositories - gostls13.git/blob - src/run.rc
all: merge dev.cc (a91c2e0) into master
[gostls13.git] / src / run.rc
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
6 rfork e
7
8 eval `{go env}
9
10 GOPATH = () # we disallow local import for non-local packages, if $GOROOT happens
11             # to be under $GOPATH, then some tests below will fail
12
13 # allow all.rc to avoid double-build of everything
14 rebuild = true
15 if(~ $1 --no-rebuild)
16         shift
17 if not {
18         # Run only one process at a time on 9vx.
19         if(~ $sysname vx32)
20                 pflag = (-p 1)
21         echo '# Building packages and commands.'
22         time go install -a -v $pflag std cmd
23         echo
24 }
25
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
31 echo '# Testing packages.'
32 time go test std cmd -short -timeout 240s
33 echo
34
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
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.
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.
49 echo '# GOMAXPROCS=2 runtime -cpu=1,2,4'
50 GOMAXPROCS=2 go test runtime -v -short -timeout 15m -cpu 1,2,4
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
64 echo '#' ../test/bench/go1
65 go test ../test/bench/go1
66
67 @{
68         xcd ../test
69         GOMAXPROCS='' time go run run.go -v
70 }
71
72 echo
73 echo ALL TESTS PASSED