| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |