summaryrefslogtreecommitdiff
path: root/src/run.bash
blob: 731e07e495dde02864bfb7c3005b3d7b8a8af351 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/usr/bin/env bash
# Copyright 2009 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.

set -e
if [ "$1" = "--no-env" ]; then
	# caller has already run env.bash
	shift
else
	. ./env.bash
fi

unset MAKEFLAGS  # single-threaded make
unset CDPATH	# in case user has it set

# no core files, please
ulimit -c 0

# allow make.bash to avoid double-build of everything
rebuild=true
if [ "$1" = "--no-rebuild" ]; then
	rebuild=false
	shift
fi
		
xcd() {
	echo
	echo --- cd $1
	builtin cd "$GOROOT"/src/$1
}

maketest() {
	for i
	do
		(
			xcd $i
			if $rebuild; then
				gomake clean
				time gomake
				gomake install
			fi
			gomake test
		) || exit $?
	done
}

maketest \
	pkg \

# all of these are subtly different
# from what maketest does.

(xcd pkg/sync;
if $rebuild; then
	gomake clean;
	time gomake
fi
GOMAXPROCS=10 gomake test
) || exit $?

[ "$GOARCH" == arm ] ||
(xcd cmd/gofmt
if $rebuild; then
	gomake clean;
	time gomake
fi
time gomake smoketest
) || exit $?

(xcd cmd/ebnflint
if $rebuild; then
	gomake clean;
	time gomake
fi
time gomake test
) || exit $?

[ "$GOARCH" == arm ] ||
(xcd ../misc/cgo/stdio
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
	gomake clean
	./test.bash
fi
) || exit $?

[ "$GOARCH" == arm ] ||
(xcd ../misc/cgo/life
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
	gomake clean
	./test.bash
fi
) || exit $?

(xcd pkg/exp/ogle
gomake clean
time gomake ogle
) || exit $?

(xcd ../doc/progs
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
	time ./run
fi
) || exit $?

(xcd ../doc/codelab/wiki
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
	gomake test
fi
) || exit $?

for i in ../misc/dashboard/builder ../misc/goplay
do
	(xcd $i
	gomake clean
	gomake
	) || exit $?
done

[ "$GOARCH" == arm ] ||
(xcd ../test/bench
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
	./timing.sh -test
fi
) || exit $?

(xcd ../test
if [[ $(uname | tr A-Z a-z | sed 's/mingw/windows/') != *windows* ]]; then
	./run
fi
) || exit $?