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

Side by Side Diff: buildbot/buildbot_pnacl.sh

Issue 426763002: Further deduplicate and simplify PNaCl SCons testing (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: review Created 6 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
« no previous file with comments | « buildbot/buildbot_pnacl.py ('k') | 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 # Tell build.sh and test.sh that we're a bot. 10 # Tell build.sh and test.sh that we're a bot.
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 "${hwflags} use_sandboxed_translator=1 translate_fast=1 \ 344 "${hwflags} use_sandboxed_translator=1 translate_fast=1 \
345 translate_in_build_step=0" \ 345 translate_in_build_step=0" \
346 "toolchain_tests" 346 "toolchain_tests"
347 347
348 # Test Non-SFI Mode. 348 # Test Non-SFI Mode.
349 scons-stage-irt "arm" "${hwflags}" "${SCONS_NONSFI_NEWLIB}" 349 scons-stage-irt "arm" "${hwflags}" "${SCONS_NONSFI_NEWLIB}"
350 scons-stage-irt "arm" "${hwflags}" "${SCONS_NONSFI}" 350 scons-stage-irt "arm" "${hwflags}" "${SCONS_NONSFI}"
351 } 351 }
352 352
353 mode-trybot-qemu() { 353 mode-trybot-qemu() {
354 # Build and actually run the arm tests under qemu, except
355 # sandboxed translation. Hopefully that's a good tradeoff between
356 # flakiness and cycle time.
357 FAIL_FAST=false
358 local qemuflags="-j4 -k"
359 clobber 354 clobber
355 # TODO(dschuff): move the gyp build to buildbot_pnacl.py
360 gyp-arm-build 356 gyp-arm-build
361 357
362 scons-stage-noirt "arm" "${qemuflags}" "${SCONS_EVERYTHING}" 358 buildbot/buildbot_pnacl.py opt arm pnacl
363 # Large tests cannot be run in parallel
364 scons-stage-noirt "arm" "${qemuflags} -j1" "${SCONS_S_M} large_tests"
365
366 # also run some tests with the irt
367 scons-stage-irt "arm" "${qemuflags}" "${SCONS_S_M_IRT}"
368
369 # non-pexe tests
370 scons-stage-noirt "arm" "${qemuflags} pnacl_generate_pexe=0" "nonpexe_tests"
371
372 # Test Non-SFI Mode.
373 scons-stage-irt "arm" "${qemuflags}" "${SCONS_NONSFI_NEWLIB}"
374 scons-stage-irt "arm" "${qemuflags}" "${SCONS_NONSFI}"
375 } 359 }
376 360
377 mode-buildbot-arm-dbg() { 361 mode-buildbot-arm-dbg() {
378 BUILD_MODE_HOST=DEDUG 362 BUILD_MODE_HOST=DEDUG
379 mode-buildbot-arm 363 mode-buildbot-arm
380 archive-for-hw-bots $(NAME_ARM_UPLOAD) regular 364 archive-for-hw-bots $(NAME_ARM_UPLOAD) regular
381 } 365 }
382 366
383 mode-buildbot-arm-opt() { 367 mode-buildbot-arm-opt() {
384 mode-buildbot-arm 368 mode-buildbot-arm
(...skipping 26 matching lines...) Expand all
411 # These 2 functions are also suitable for local TC sanity testing. 395 # These 2 functions are also suitable for local TC sanity testing.
412 tc-tests-all() { 396 tc-tests-all() {
413 local is_try=$1 397 local is_try=$1
414 398
415 local label="pnacl_newlib_dir=toolchain/${PNACL_TOOLCHAIN_DIR}" 399 local label="pnacl_newlib_dir=toolchain/${PNACL_TOOLCHAIN_DIR}"
416 local scons_flags="-k skip_trusted_tests=1 -j8 ${label}" 400 local scons_flags="-k skip_trusted_tests=1 -j8 ${label}"
417 401
418 # newlib 402 # newlib
419 for arch in x86-32 x86-64 arm; do 403 for arch in x86-32 x86-64 arm; do
420 driver-tests "${arch}" 404 driver-tests "${arch}"
421 scons-stage-noirt "$arch" "${scons_flags}" "${SCONS_TC_TESTS}"
422 # Large tests cannot be run in parallel
423 scons-stage-noirt "$arch" "${scons_flags} -j1" "large_tests"
424 scons-stage-noirt "$arch" "${scons_flags} pnacl_generate_pexe=0" \
425 "nonpexe_tests"
426 done 405 done
427 406
428 # Small set of sbtc tests w/ and without translate_fast=1. 407 # All the SCons tests (the same ones run by the main waterfall bot)
429 scons-stage-irt "x86-32" "${scons_flags} use_sandboxed_translator=1" \ 408 for arch in 32 64 arm; do
430 "toolchain_tests" 409 buildbot/buildbot_pnacl.py opt "${arch}" pnacl
431 scons-stage-irt "x86-32" \ 410 done
432 "${scons_flags} use_sandboxed_translator=1 translate_fast=1" \
433 "toolchain_tests"
434 scons-stage-irt "x86-64" "${scons_flags} use_sandboxed_translator=1" \
435 "toolchain_tests"
436 scons-stage-irt "x86-64" \
437 "${scons_flags} use_sandboxed_translator=1 translate_fast=1" \
438 "toolchain_tests"
439 # Smaller set of sbtc tests for ARM because qemu is flaky.
440 scons-stage-irt "arm" "${scons_flags} use_sandboxed_translator=1" \
441 "run_hello_world_test"
442 scons-stage-irt "arm" \
443 "${scons_flags} use_sandboxed_translator=1 translate_fast=1" \
444 "run_hello_world_test"
445
446 # Test Non-SFI Mode.
447 scons-stage-irt "x86-32" "${scons_flags}" "${SCONS_NONSFI}"
448 scons-stage-irt "arm" "${scons_flags}" "${SCONS_NONSFI}"
449
450 # Test unsandboxed mode.
451 scons-stage-irt "x86-32" "${scons_flags}" "pnacl_unsandboxed=1" \
452 "run_hello_world_test_irt"
453 411
454 # Run the GCC torture tests just for x86-32. Testing a single 412 # Run the GCC torture tests just for x86-32. Testing a single
455 # architecture gives good coverage without taking too long. We 413 # architecture gives good coverage without taking too long. We
456 # don't test x86-64 here because some of the torture tests fail on 414 # don't test x86-64 here because some of the torture tests fail on
457 # the x86-64 toolchain trybot (though not the buildbots, apparently 415 # the x86-64 toolchain trybot (though not the buildbots, apparently
458 # due to a hardware difference: 416 # due to a hardware difference:
459 # https://code.google.com/p/nativeclient/issues/detail?id=3697). 417 # https://code.google.com/p/nativeclient/issues/detail?id=3697).
418
460 # Build the SDK libs first so that linking will succeed. 419 # Build the SDK libs first so that linking will succeed.
461 echo "@@@BUILD_STEP sdk libs @@@" 420 echo "@@@BUILD_STEP sdk libs @@@"
462 ${PNACL_BUILD} sdk 421 ${PNACL_BUILD} sdk
422 ./scons --verbose platform=x86-32 -j8 sel_ldr irt_core
463 423
464 echo "@@@BUILD_STEP torture_tests x86-32 @@@" 424 echo "@@@BUILD_STEP torture_tests x86-32 @@@"
465 tools/toolchain_tester/torture_test.py pnacl x86-32 --verbose \ 425 tools/toolchain_tester/torture_test.py pnacl x86-32 --verbose \
466 --concurrency=8 || handle-error 426 --concurrency=8 || handle-error
467 } 427 }
468 428
469 tc-tests-fast() { 429 tc-tests-fast() {
470 local arch="$1" 430 local arch="$1"
471 local scons_flags="-k skip_trusted_tests=1" 431 local scons_flags="-k skip_trusted_tests=1"
472 432
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 exit 1 487 exit 1
528 fi 488 fi
529 489
530 "$@" 490 "$@"
531 491
532 if [[ ${RETCODE} != 0 ]]; then 492 if [[ ${RETCODE} != 0 ]]; then
533 echo "@@@BUILD_STEP summary@@@" 493 echo "@@@BUILD_STEP summary@@@"
534 echo There were failed stages. 494 echo There were failed stages.
535 exit ${RETCODE} 495 exit ${RETCODE}
536 fi 496 fi
OLDNEW
« no previous file with comments | « buildbot/buildbot_pnacl.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698