Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(350)

Side by Side Diff: buildbot/buildbot_spec2k.sh

Issue 7524023: New LLVM merging bots (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2011 The Native Client Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 set -o xtrace 6 set -o xtrace
7 set -o nounset 7 set -o nounset
8 set -o errexit 8 set -o errexit
9 9
10 ###################################################################### 10 ######################################################################
11 # SCRIPT CONFIG 11 # SCRIPT CONFIG
12 ###################################################################### 12 ######################################################################
13 13
14 CLOBBER=${CLOBBER:-yes} 14 CLOBBER=${CLOBBER:-yes}
15 SCONS_TRUSTED="./scons --mode=opt-host -j8" 15 SCONS_TRUSTED="./scons --mode=opt-host -j8"
16 SCONS_NACL="./scons --mode=opt-host,nacl -j8" 16 SCONS_NACL="./scons --mode=opt-host,nacl -j8"
17 SPEC_HARNESS=${SPEC_HARNESS:-${HOME}/cpu2000-redhat64-ia32}/ 17 SPEC_HARNESS=${SPEC_HARNESS:-${HOME}/cpu2000-redhat64-ia32}/
18 UTMAN=tools/llvm/utman.sh 18 UTMAN=tools/llvm/utman.sh
19 19
20 # Rough test running time classification for ARM which is our bottleneck 20 TRYBOT_TESTS="176.gcc 179.art 181.mcf 197.parser 252.eon 254.gap"
21 FAST_ARM="176.gcc 181.mcf 197.parser 254.gap" 21 TRYBOT_TRANSLATOR_TESTS="176.gcc"
22 MEDIUM_ARM="164.gzip 175.vpr 179.art 186.crafty 252.eon \
23 256.bzip2 255.vortex 300.twolf"
24 SLOW_ARM="177.mesa 183.equake 188.ammp 253.perlbmk"
25 22
26 SPEC_BASE="tests/spec2k" 23 SPEC_BASE="tests/spec2k"
27 24
28 TestsToBuild() { 25 RETCODE=0
29 local setup=$1
30 case ${setup} in
31 SetupPnaclArmOpt)
32 # we expect arm to diverge
33 echo ${FAST_ARM} 252.eon 179.art
34 ;;
35 SetupPnaclTranslator*)
36 echo 176.gcc
37 ;;
38 *)
39 echo ${FAST_ARM} 252.eon 179.art
40 ;;
41 esac
42 }
43
44 TestsToRun() {
45 local setup=$1
46 case ${setup} in
47 SetupPnaclArmOpt)
48 # we expect arm to diverge
49 echo ${FAST_ARM} 252.eon 179.art
50 ;;
51 SetupPnaclTranslator*)
52 echo 176.gcc
53 ;;
54 *)
55 echo ${FAST_ARM} 252.eon 179.art
56 ;;
57 esac
58 }
59 26
60 ###################################################################### 27 ######################################################################
61 # SCRIPT ACTION 28 # SCRIPT ACTION
62 ###################################################################### 29 ######################################################################
63 30
64 clobber() { 31 clobber() {
65 echo "@@@BUILD_STEP clobber@@@" 32 if [ "${CLOBBER}" == "yes" ] ; then
66 rm -rf scons-out toolchain 33 echo "@@@BUILD_STEP clobber@@@"
34 rm -rf scons-out toolchain
67 35
68 echo "@@@BUILD_STEP gclient_runhooks@@@" 36 echo "@@@BUILD_STEP gclient_runhooks@@@"
69 gclient runhooks --force 37 gclient runhooks --force
38 fi
70 } 39 }
71 40
72 basic-setup-nacl() { 41 basic-setup-nacl() {
73 local platforms=$1 42 local platforms=$1
74 build-sel_ldr "${platforms}" 43 build-sel_ldr "${platforms}"
75 build-libs "${platforms}" 44 build-libs "${platforms}"
76 } 45 }
77 46
78 basic-setup-pnacl() { 47 basic-setup-pnacl() {
79 local platforms=$1 48 local platforms=$1
(...skipping 21 matching lines...) Expand all
101 build-libs() { 70 build-libs() {
102 local platforms=$1 71 local platforms=$1
103 shift 1 72 shift 1
104 for platform in ${platforms} ; do 73 for platform in ${platforms} ; do
105 echo "@@@BUILD_STEP scons build_lib [${platform}] $* @@@" 74 echo "@@@BUILD_STEP scons build_lib [${platform}] $* @@@"
106 ${SCONS_NACL} platform=${platform} build_lib "$@" 75 ${SCONS_NACL} platform=${platform} build_lib "$@"
107 done 76 done
108 } 77 }
109 78
110 build-and-run-some() { 79 build-and-run-some() {
111 local harness=$1 80 local setups="$1"
112 local setups=$2 81 local tests="$2"
113 82
114 pushd ${SPEC_BASE} 83 pushd ${SPEC_BASE}
115 for setup in ${setups}; do 84 for setup in ${setups}; do
116 echo "@@@BUILD_STEP spec2k build [${setup}] [train-some]@@@" 85 echo "@@@BUILD_STEP spec2k build [${setup}] [train-some]@@@"
117 ./run_all.sh CleanBenchmarks 86 ./run_all.sh CleanBenchmarks
118 ./run_all.sh PopulateFromSpecHarness ${harness} 87 ./run_all.sh PopulateFromSpecHarness "${SPEC_HARNESS}"
119 MAKEOPTS=-j8 \ 88 MAKEOPTS=-j8 \
120 ./run_all.sh BuildBenchmarks 0 ${setup} $(TestsToBuild ${setup}) 89 ./run_all.sh BuildBenchmarks 0 ${setup} ${tests}
121 90
122 echo "@@@BUILD_STEP spec2k run [${setup}] [train-some]@@@" 91 echo "@@@BUILD_STEP spec2k run [${setup}] [train-some]@@@"
123 ./run_all.sh RunBenchmarks ${setup} train $(TestsToRun ${setup}) || \ 92 ./run_all.sh RunBenchmarks ${setup} train ${tests} || \
124 { RETCODE=$? && echo "@@@STEP_FAILURE@@@"; } 93 { RETCODE=$? && echo "@@@STEP_FAILURE@@@"; }
125 done 94 done
126 popd 95 popd
127 } 96 }
128 97
129 build-and-run-all-timed() { 98 build-and-run-all() {
130 local harness=$1 99 local setups="$1"
131 local setups=$2
132 100
133 pushd ${SPEC_BASE} 101 pushd ${SPEC_BASE}
134 for setup in ${setups}; do 102 for setup in ${setups}; do
135 echo "@@@BUILD_STEP spec2k build [${setup}] [train]@@@" 103 echo "@@@BUILD_STEP spec2k build [${setup}] [train]@@@"
136 ./run_all.sh CleanBenchmarks 104 ./run_all.sh CleanBenchmarks
137 ./run_all.sh PopulateFromSpecHarness ${harness} 105 ./run_all.sh PopulateFromSpecHarness "${SPEC_HARNESS}"
138 MAKEOPTS=-j8 \ 106 MAKEOPTS=-j8 \
139 ./run_all.sh BuildBenchmarks 1 ${setup} train 107 ./run_all.sh BuildBenchmarks 1 ${setup} train
140 108
141 echo @@@BUILD_STEP spec2k run [${setup}] [train]@@@ 109 echo @@@BUILD_STEP spec2k run [${setup}] [train]@@@
142 # NOTE: we intentionally do not parallelize the build because 110 # NOTE: we intentionally do not parallelize the build because
143 # we are measuring build times 111 # we are measuring build times
144 ./run_all.sh RunTimedBenchmarks ${setup} train || \ 112 ./run_all.sh RunTimedBenchmarks ${setup} train || \
145 { RETCODE=$? && echo "@@@STEP_FAILURE@@@"; } 113 { RETCODE=$? && echo "@@@STEP_FAILURE@@@"; }
146 done 114 done
147 popd 115 popd
148 } 116 }
149 117
150 118
151 ###################################################################### 119 ######################################################################
152 # NOTE: trybots only runs a subset of the the spec2k tests 120 # NOTE: trybots only runs a subset of the the spec2k tests
153 # TODO: elminate this long running bot in favor per arch sharded bots 121 # TODO: elminate this long running bot in favor per arch sharded bots
154 mode-spec-pnacl-trybot() { 122 pnacl-trybot() {
155 clobber 123 clobber
156 basic-setup-pnacl "arm x86-64 x86-32" 124 basic-setup-pnacl "arm x86-64 x86-32"
157 build-and-run-some ${SPEC_HARNESS} "SetupPnaclArmOpt \ 125 build-and-run-some SetupPnaclArmOpt "${TRYBOT_TESTS}"
158 SetupPnaclX8632Opt \ 126 build-and-run-some SetupPnaclX8632Opt "${TRYBOT_TESTS}"
159 SetupPnaclX8664Opt \ 127 build-and-run-some SetupPnaclX8664Opt "${TRYBOT_TESTS}"
160 SetupPnaclTranslatorX8632Opt \ 128 build-and-run-some SetupPnaclTranslatorX8632Opt "${TRYBOT_TRANSLATOR_TESTS}"
161 SetupPnaclTranslatorX8664Opt" 129 build-and-run-some SetupPnaclTranslatorX8664Opt "${TRYBOT_TRANSLATOR_TESTS}"
162 } 130 }
163 131
164 mode-spec-pnacl-trybot-arm() { 132 pnacl-trybot-arm() {
165 clobber 133 clobber
166 basic-setup-pnacl "arm" 134 basic-setup-pnacl "arm"
167 build-and-run-some ${SPEC_HARNESS} "SetupPnaclArmOpt" 135 build-and-run-some SetupPnaclArmOpt "${TRYBOT_TESTS}"
168 } 136 }
169 137
170 mode-spec-pnacl-trybot-x8632() { 138 pnacl-trybot-x8632() {
171 clobber 139 clobber
172 basic-setup-pnacl "x86-32" 140 basic-setup-pnacl "x86-32"
173 build-and-run-some ${SPEC_HARNESS} "SetupPnaclX8632Opt \ 141 build-and-run-some SetupPnaclX8632Opt "${TRYBOT_TESTS}"
174 SetupPnaclTranslatorX8632Opt" 142 build-and-run-some SetupPnaclTranslatorX8632Opt "${TRANSLATOR_TESTS}"
jvoung - send to chromium... 2011/07/28 23:48:54 TRANSLATOR_TESTS -> TRYBOT_TRANSLATOR_TESTS
pdox 2011/07/29 00:05:55 oh, good catch
175 } 143 }
176 144
177 mode-spec-pnacl-trybot-x8664() { 145 pnacl-trybot-x8664() {
178 clobber 146 clobber
179 basic-setup-pnacl "x86-64" 147 basic-setup-pnacl "x86-64"
180 build-and-run-some ${SPEC_HARNESS} "SetupPnaclX8664Opt \ 148 build-and-run-some SetupPnaclX8664Opt "${TRYBOT_TESTS}"
181 SetupPnaclTranslatorX8664Opt" 149 build-and-run-some SetupPnaclTranslatorX8664Opt "${TRANSLATOR_TESTS}"
182 } 150 }
183 151
184 152 pnacl-arm() {
185 mode-spec-pnacl-arm() {
186 clobber 153 clobber
187 basic-setup-pnacl "arm" 154 basic-setup-pnacl "arm"
188 # arm takes a long time and we do not have sandboxed tests working 155 # arm takes a long time and we do not have sandboxed tests working
189 build-and-run-all-timed ${SPEC_HARNESS} "SetupPnaclArmOpt" 156 build-and-run-all "SetupPnaclArmOpt"
190 } 157 }
191 158
192 mode-spec-pnacl-x8664() { 159 pnacl-x8664() {
193 clobber 160 clobber
194 basic-setup-pnacl "x86-64" 161 basic-setup-pnacl "x86-64"
195 build-and-run-all-timed ${SPEC_HARNESS} \ 162 build-and-run-all "SetupPnaclX8664 \
196 "SetupPnaclX8664 \ 163 SetupPnaclX8664Opt \
197 SetupPnaclX8664Opt \ 164 SetupPnaclTranslatorX8664 \
198 SetupPnaclTranslatorX8664 \ 165 SetupPnaclTranslatorX8664Opt"
199 SetupPnaclTranslatorX8664Opt"
200 } 166 }
201 167
202 mode-spec-pnacl-x8632() { 168 pnacl-x8632() {
203 clobber 169 clobber
204 basic-setup-pnacl "x86-32" 170 basic-setup-pnacl "x86-32"
205 build-and-run-all-timed ${SPEC_HARNESS} \ 171 build-and-run-all "SetupPnaclX8632 \
206 "SetupPnaclX8632 \ 172 SetupPnaclX8632Opt \
207 SetupPnaclX8632Opt \ 173 SetupPnaclTranslatorX8632 \
208 SetupPnaclTranslatorX8632 \ 174 SetupPnaclTranslatorX8632Opt"
209 SetupPnaclTranslatorX8632Opt"
210 } 175 }
211 176
212 # scheduled to be obsolete 177 nacl-x8632() {
213 # TODO(robertm): delete this target
214 mode-spec-nacl() {
215 clobber 178 clobber
216 basic-setup-nacl "x86-32 x86-64" 179 basic-setup-nacl "x86-32"
217 build-and-run-all-timed ${SPEC_HARNESS} \ 180 build-and-run-all "SetupNaclX8632 \
218 "SetupNaclX8664 \ 181 SetupNaclX8632Opt"
219 SetupNaclX8664Opt \
220 SetupNaclX8632 \
221 SetupNaclX8632Opt"
222 } 182 }
223 183
224 mode-spec-nacl-x8632() { 184 nacl-x8664() {
225 clobber
226 basic-setup-nacl "x86-32"
227 build-and-run-all-timed ${SPEC_HARNESS} \
228 "SetupNaclX8632 \
229 SetupNaclX8632Opt"
230 }
231
232 mode-spec-nacl-x8664() {
233 clobber 185 clobber
234 basic-setup-nacl "x86-64" 186 basic-setup-nacl "x86-64"
235 build-and-run-all-timed ${SPEC_HARNESS} \ 187 build-and-run-all "SetupNaclX8664 \
236 "SetupNaclX8664 \ 188 SetupNaclX8664Opt"
237 SetupNaclX8664Opt"
238 189
239 } 190 }
240 191
241 192
242 ###################################################################### 193 ######################################################################
243 # Script assumed to be run in native_client/ 194 # Script assumed to be run in native_client/
244 if [[ $(pwd) != */native_client ]]; then 195 if [[ $(pwd) != */native_client ]]; then
245 echo "ERROR: must be run in native_client!" 196 echo "ERROR: must be run in native_client!"
246 exit 1 197 exit 1
247 fi 198 fi
248 199
249 200
250 if [[ $# -eq 0 ]] ; then 201 if [[ $# -eq 0 ]] ; then
251 echo "you must specify a mode on the commandline:" 202 echo "you must specify a mode on the commandline:"
252 exit 1 203 exit 1
253 fi 204 fi
254 205
255 if [ "$(type -t $1)" != "function" ]; then 206 if [ "$(type -t $1)" != "function" ]; then
256 Usage 207 Usage
257 echo "ERROR: unknown mode '$1'." >&2 208 echo "ERROR: unknown mode '$1'." >&2
258 exit 1 209 exit 1
259 fi 210 fi
260 211
261 eval "$@" 212 "$@"
262 213
214 if [[ ${RETCODE} != 0 ]]; then
215 echo "@@@BUILD_STEP summary@@@"
216 echo There were failed stages.
217 exit ${RETCODE}
218 fi
219
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698