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

Side by Side Diff: buildbot/buildbot_spec2k.sh

Issue 11377144: add and enable validator tests for x86 (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: Created 8 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2012 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 readonly CLOBBER=${CLOBBER:-yes}
15 SCONS_TRUSTED="./scons --mode=opt-host -j8" 15 readonly SCONS_TRUSTED="./scons --mode=opt-host -j8"
16 SCONS_NACL="./scons --mode=opt-host,nacl -j8" 16 readonly SCONS_NACL="./scons --mode=opt-host,nacl -j8"
17 SPEC_HARNESS=${SPEC_HARNESS:-${HOME}/cpu2000-redhat64-ia32}/ 17 readonly SPEC_HARNESS=${SPEC_HARNESS:-${HOME}/cpu2000-redhat64-ia32}/
18 18
19 TRYBOT_TESTS="176.gcc 179.art 181.mcf 197.parser 252.eon 254.gap" 19 readonly TRYBOT_TESTS="176.gcc 179.art 181.mcf 197.parser 252.eon 254.gap"
20 TRYBOT_TRANSLATOR_TESTS="176.gcc" 20 readonly TRYBOT_TRANSLATOR_TESTS="176.gcc"
21 TRYBOT_X86_64_ZERO_BASED_SANDBOX_TESTS="176.gcc" 21 readonly TRYBOT_X86_64_ZERO_BASED_SANDBOX_TESTS="176.gcc"
22 22
23 readonly BUILDBOT_PNACL="buildbot/buildbot_pnacl.sh" 23 readonly BUILDBOT_PNACL="buildbot/buildbot_pnacl.sh"
24 readonly UP_DOWN_LOAD="buildbot/file_up_down_load.sh" 24 readonly UP_DOWN_LOAD="buildbot/file_up_down_load.sh"
25 25
26 SPEC_BASE="tests/spec2k" 26 readonly SPEC_BASE="tests/spec2k"
27 readonly ARCHIVE_NAME=$(${SPEC_BASE}/run_all.sh GetTestArchiveName) 27 readonly ARCHIVE_NAME=$(${SPEC_BASE}/run_all.sh GetTestArchiveName)
28 28
29 readonly NAME_ARM_TRY_UPLOAD=$(${BUILDBOT_PNACL} NAME_ARM_TRY_UPLOAD) 29 readonly NAME_ARM_TRY_UPLOAD=$(${BUILDBOT_PNACL} NAME_ARM_TRY_UPLOAD)
30 readonly NAME_ARM_TRY_DOWNLOAD=$(${BUILDBOT_PNACL} NAME_ARM_TRY_DOWNLOAD) 30 readonly NAME_ARM_TRY_DOWNLOAD=$(${BUILDBOT_PNACL} NAME_ARM_TRY_DOWNLOAD)
31 readonly NAME_ARM_UPLOAD=$(${BUILDBOT_PNACL} NAME_ARM_UPLOAD) 31 readonly NAME_ARM_UPLOAD=$(${BUILDBOT_PNACL} NAME_ARM_UPLOAD)
32 readonly NAME_ARM_DOWNLOAD=$(${BUILDBOT_PNACL} NAME_ARM_DOWNLOAD) 32 readonly NAME_ARM_DOWNLOAD=$(${BUILDBOT_PNACL} NAME_ARM_DOWNLOAD)
33 33
34 readonly QEMU_TOOL="$(pwd)/toolchain/linux_arm-trusted/run_under_qemu_arm"
35
34 # If true, terminate script when first error is encountered. 36 # If true, terminate script when first error is encountered.
35 FAIL_FAST=${FAIL_FAST:-false} 37 readonly FAIL_FAST=${FAIL_FAST:-false}
36 RETCODE=0 38 RETCODE=0
37 39
38 # Print the number of tests being run for the buildbot status output 40 # Print the number of tests being run for the buildbot status output
39 testcount() { 41 testcount() {
40 local tests="$1" 42 local tests="$1"
41 if [[ ${tests} == "all" ]]; then 43 if [[ ${tests} == "all" ]]; then
42 echo "all" 44 echo "all"
43 else 45 else
44 echo ${tests} | wc -w 46 echo ${tests} | wc -w
45 fi 47 fi
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 else 146 else
145 ${UP_DOWN_LOAD} DownloadArmBinariesForHWBots ${NAME_ARM_DOWNLOAD} \ 147 ${UP_DOWN_LOAD} DownloadArmBinariesForHWBots ${NAME_ARM_DOWNLOAD} \
146 ${ARCHIVE_NAME} 148 ${ARCHIVE_NAME}
147 fi 149 fi
148 echo "@@@BUILD_STEP spec2k untar@@@" 150 echo "@@@BUILD_STEP spec2k untar@@@"
149 pushd ${SPEC_BASE} 151 pushd ${SPEC_BASE}
150 ./run_all.sh UnpackArmBinaries 152 ./run_all.sh UnpackArmBinaries
151 popd 153 popd
152 } 154 }
153 155
156 download-validator-test-nexes() {
157 local arch="$1"
158 echo "@@@BUILD_STEP validator test download@@@"
159 ${UP_DOWN_LOAD} DownloadArchivedNexes 1000 "${arch}_giant" giant_nexe.tar.bz2
160 # This generates "CannedNexes/" in the current directory
161 rm -rf CannedNexes
jvoung - send to chromium... 2012/11/14 18:45:30 Indentation is a bit inconsistent in these couple
Robert Muth (chromium) 2012/11/15 05:25:35 Done.
162 tar jxf giant_nexe.tar.bz2
163 }
164
165 get-validator() {
166 local arch="$1"
167 if [[ ${arch} == "x86-32" ]] ; then
168 echo "$(pwd)/scons-out/opt-linux-x86-32/staging/ncval"
169 elif [[ ${arch} == "x86-64" ]] ; then
170 echo "$(pwd)/scons-out/opt-linux-x86-64/staging/ncval"
171 elif [[ ${arch} == "arm" ]] ; then
172 echo "$(pwd)/scons-out/opt-linux-arm/staging/arm-ncval-core"
173 else
174 echo "ERROR: unknown arch"
175 fi
176 }
177
178 measure-validator-speed() {
179 local arch="$1"
180 local validator=$(get-validator ${arch})
181 echo "@@@BUILD_STEP validator speed test@@@"
182 if [[ ! -e ${validator} ]] ; then
183 echo "ERROR: missing validator executable: ${validator}"
184 handle-error
185 return
186 fi
187
188 if [[ $(uname -p) != arm* ]] ; then
189 validator="${QEMU_TOOL} ${validator}"
190 fi
191
192 for b in CannedNexes/*nexe ; do
193 /usr//bin/time ${validator} $b
jvoung - send to chromium... 2012/11/14 18:45:30 extra slash /usr//bin
Robert Muth (chromium) 2012/11/15 05:25:35 Done.
194 done
195 }
196
154 ###################################################################### 197 ######################################################################
155 # NOTE: trybots only runs a subset of the the spec2k tests 198 # NOTE: trybots only runs a subset of the the spec2k tests
156 # TODO: elminate this long running bot in favor per arch sharded bots 199 # TODO: elminate this long running bot in favor per arch sharded bots
157 pnacl-trybot-arm-qemu() { 200 pnacl-trybot-arm-qemu() {
158 clobber 201 clobber
159 build-prerequisites "arm" "bitcode" 202 build-prerequisites "arm" "bitcode"
160 build-tests SetupPnaclArmOpt "${TRYBOT_TESTS}" 0 1 203 build-tests SetupPnaclArmOpt "${TRYBOT_TESTS}" 0 1
161 run-tests SetupPnaclArmOpt "${TRYBOT_TESTS}" 0 1 204 run-tests SetupPnaclArmOpt "${TRYBOT_TESTS}" 0 1
162 } 205 }
163 206
164 pnacl-trybot-arm-buildonly() { 207 pnacl-trybot-arm-buildonly() {
165 clobber 208 clobber
166 build-prerequisites "arm" "bitcode" "arm-ncval-core" 209 build-prerequisites "arm" "bitcode" "arm-ncval-core"
167 ${BUILDBOT_PNACL} archive-for-hw-bots "${NAME_ARM_TRY_UPLOAD}" try 210 ${BUILDBOT_PNACL} archive-for-hw-bots "${NAME_ARM_TRY_UPLOAD}" try
168 build-tests SetupPnaclPexeOpt "${TRYBOT_TESTS}" 0 1 211 build-tests SetupPnaclPexeOpt "${TRYBOT_TESTS}" 0 1
169 upload-test-binaries "${TRYBOT_TESTS}" try 212 upload-test-binaries "${TRYBOT_TESTS}" try
170 } 213 }
171 214
172 pnacl-trybot-arm-hw() { 215 pnacl-trybot-arm-hw() {
173 clobber 216 clobber
174 ${BUILDBOT_PNACL} unarchive-for-hw-bots "${NAME_ARM_TRY_DOWNLOAD}" try 217 ${BUILDBOT_PNACL} unarchive-for-hw-bots "${NAME_ARM_TRY_DOWNLOAD}" try
175 download-test-binaries try 218 download-test-binaries try
176 build-tests SetupPnaclTranslatorArmOptHW "${TRYBOT_TESTS}" 0 1 219 build-tests SetupPnaclTranslatorArmOptHW "${TRYBOT_TESTS}" 0 1
177 run-tests SetupPnaclTranslatorArmOptHW "${TRYBOT_TESTS}" 0 1 220 run-tests SetupPnaclTranslatorArmOptHW "${TRYBOT_TESTS}" 0 1
178 pushd ${SPEC_BASE}; 221 pushd ${SPEC_BASE};
179 ./run_all.sh TimeValidation SetupPnaclTranslatorArmOptHW "${TRYBOT_TESTS}" ||\ 222 ./run_all.sh TimeValidation SetupPnaclTranslatorArmOptHW "${TRYBOT_TESTS}" ||\
jvoung - send to chromium... 2012/11/14 18:45:30 Can you merge the measure-validator-speed mechanis
180 handle-error 223 handle-error
181 popd 224 popd
182 } 225 }
183 226
184 pnacl-trybot-x8632() { 227 pnacl-trybot-x8632() {
185 clobber 228 clobber
186 build-prerequisites "x86-32" "bitcode" 229 build-prerequisites "x86-32" "bitcode"
187 build-tests SetupPnaclX8632Opt "${TRYBOT_TESTS}" 0 1 230 build-tests SetupPnaclX8632Opt "${TRYBOT_TESTS}" 0 1
188 run-tests SetupPnaclX8632Opt "${TRYBOT_TESTS}" 0 1 231 run-tests SetupPnaclX8632Opt "${TRYBOT_TESTS}" 0 1
189 build-tests SetupPnaclTranslatorX8632Opt "${TRYBOT_TRANSLATOR_TESTS}" 0 1 232 build-tests SetupPnaclTranslatorX8632Opt "${TRYBOT_TRANSLATOR_TESTS}" 0 1
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 pnacl-x8664() { 282 pnacl-x8664() {
240 clobber 283 clobber
241 build-prerequisites "x86-64" "bitcode" 284 build-prerequisites "x86-64" "bitcode"
242 local setups="SetupPnaclX8664 \ 285 local setups="SetupPnaclX8664 \
243 SetupPnaclX8664Opt \ 286 SetupPnaclX8664Opt \
244 SetupPnaclTranslatorX8664 \ 287 SetupPnaclTranslatorX8664 \
245 SetupPnaclTranslatorX8664Opt" 288 SetupPnaclTranslatorX8664Opt"
246 build-tests "${setups}" all 1 3 289 build-tests "${setups}" all 1 3
247 run-tests "${setups}" all 1 3 290 run-tests "${setups}" all 1 3
248 pnacl-x86-64-zero-based-sandbox 291 pnacl-x86-64-zero-based-sandbox
292 measure-validator-speed x86-64
249 } 293 }
250 294
251 pnacl-x8632() { 295 pnacl-x8632() {
252 clobber 296 clobber
253 build-prerequisites "x86-32" "bitcode" 297 build-prerequisites "x86-32" "bitcode"
254 local setups="SetupPnaclX8632 \ 298 local setups="SetupPnaclX8632 \
255 SetupPnaclX8632Opt \ 299 SetupPnaclX8632Opt \
256 SetupPnaclTranslatorX8632 \ 300 SetupPnaclTranslatorX8632 \
257 SetupPnaclTranslatorX8632Opt" 301 SetupPnaclTranslatorX8632Opt"
258 build-tests "${setups}" all 1 3 302 build-tests "${setups}" all 1 3
259 run-tests "${setups}" all 1 3 303 run-tests "${setups}" all 1 3
304 measure-validator-speed x86-32
260 } 305 }
261 306
262 nacl-x8632() { 307 nacl-x8632() {
263 clobber 308 clobber
264 build-prerequisites "x86-32" "" 309 build-prerequisites "x86-32" ""
265 local setups="SetupNaclX8632 \ 310 local setups="SetupNaclX8632 \
266 SetupNaclX8632Opt" 311 SetupNaclX8632Opt"
267 build-tests "${setups}" all 1 3 312 build-tests "${setups}" all 1 3
268 run-tests "${setups}" all 1 3 313 run-tests "${setups}" all 1 3
314 measure-validator-speed x86-32
269 } 315 }
270 316
271 nacl-x8664() { 317 nacl-x8664() {
272 clobber 318 clobber
273 build-prerequisites "x86-64" "" 319 build-prerequisites "x86-64" ""
274 local setups="SetupNaclX8664 \ 320 local setups="SetupNaclX8664 \
275 SetupNaclX8664Opt" 321 SetupNaclX8664Opt"
276 build-tests "${setups}" all 1 3 322 build-tests "${setups}" all 1 3
277 run-tests "${setups}" all 1 3 323 run-tests "${setups}" all 1 3
324 measure-validator-speed x86-64
278 } 325 }
279 326
280 327
281 ###################################################################### 328 ######################################################################
282 # Script assumed to be run in native_client/ 329 # Script assumed to be run in native_client/
283 if [[ $(pwd) != */native_client ]]; then 330 if [[ $(pwd) != */native_client ]]; then
284 echo "ERROR: must be run in native_client!" 331 echo "ERROR: must be run in native_client!"
285 exit 1 332 exit 1
286 fi 333 fi
287 334
288 335
289 if [[ $# -eq 0 ]] ; then 336 if [[ $# -eq 0 ]] ; then
290 echo "you must specify a mode on the commandline:" 337 echo "you must specify a mode on the commandline:"
291 exit 1 338 exit 1
292 fi 339 fi
293 340
294 if [ "$(type -t $1)" != "function" ]; then 341 if [ "$(type -t $1)" != "function" ]; then
295 Usage 342 Usage
296 echo "ERROR: unknown mode '$1'." >&2 343 echo "ERROR: unknown mode '$1'." >&2
297 exit 1 344 exit 1
298 fi 345 fi
299 346
300 "$@" 347 "$@"
301 348
302 if [[ ${RETCODE} != 0 ]]; then 349 if [[ ${RETCODE} != 0 ]]; then
303 echo "@@@BUILD_STEP summary@@@" 350 echo "@@@BUILD_STEP summary@@@"
304 echo There were failed stages. 351 echo There were failed stages.
305 exit ${RETCODE} 352 exit ${RETCODE}
306 fi 353 fi
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698