aboutsummaryrefslogtreecommitdiff
path: root/src/run.rc
blob: 8d2ce38a0e790fc38cca6e358d4b5278440c571c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/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