| Index: tests/spec2k/bot_spec.sh
|
| ===================================================================
|
| --- tests/spec2k/bot_spec.sh (revision 5910)
|
| +++ tests/spec2k/bot_spec.sh (working copy)
|
| @@ -1,166 +0,0 @@
|
| -#!/bin/bash
|
| -
|
| -# Copyright 2010 The Native Client 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 -o nounset
|
| -set -o errexit
|
| -
|
| -# Paths relative to native_client
|
| -SPEC_BASE="tests/spec2k"
|
| -TC_SCRIPT="./tools/llvm/utman.sh"
|
| -
|
| -#######################################################################
|
| -# Helpers
|
| -#######################################################################
|
| -
|
| -StepBanner() {
|
| - echo "**********************************************************************"
|
| - echo "**********************************************************************"
|
| - echo " $@"
|
| - echo "**********************************************************************"
|
| - echo "**********************************************************************"
|
| -}
|
| -
|
| -NoteBuildStep() {
|
| - echo "@@@BUILD_STEP $1@@@"
|
| -}
|
| -
|
| -Annotate() {
|
| - local label=$1
|
| - shift
|
| - StepBanner "Running: $@"
|
| - NoteBuildStep ${label}
|
| -}
|
| -
|
| -AnnotatedRun() {
|
| - Annotate "$@"
|
| - local label=$1
|
| - shift
|
| - "$@"
|
| -}
|
| -
|
| -AnnotatedMayFailRun() {
|
| - Annotate "$@"
|
| - local label=$1
|
| - shift
|
| -
|
| - set +o errexit
|
| - "$@"
|
| - local errcode=$?
|
| - if [[ ${errcode} -ne 0 ]]; then
|
| - echo "@@@BUILD_FAILED@@@"
|
| - fi
|
| - set -o errexit
|
| -
|
| - return ${errcode}
|
| -}
|
| -
|
| -PrepareSpec() {
|
| - local spec_dir=$1
|
| - pushd ${SPEC_BASE}
|
| - AnnotatedRun "Clean" "./run_all.sh" CleanBenchmarks
|
| - AnnotatedRun "Populate" "./run_all.sh" PopulateFromSpecHarness "${spec_dir}"
|
| - popd
|
| -}
|
| -
|
| -BuildAndRunSetups() {
|
| - local setups=$1
|
| - local did_fail=0
|
| - pushd ${SPEC_BASE}
|
| - for setup in ${setups}; do
|
| - if ! AnnotatedMayFailRun "${setup}" \
|
| - "./run_all.sh" TimedBuildAndRunBenchmarks ${setup}; then
|
| - did_fail=1
|
| - fi
|
| - done
|
| - popd
|
| - return ${did_fail}
|
| -}
|
| -
|
| -PrepareTrusted() {
|
| - local arch=$1
|
| - AnnotatedRun "scons-${arch}" \
|
| - "./scons" --mode=opt-linux sdl=none platform=${arch} sel_ldr sel_universal
|
| -}
|
| -
|
| -#######################################################################
|
| -# Steps
|
| -#######################################################################
|
| -
|
| -#@
|
| -#@ test-spec-bot -- determines what runs on the NaCl spec build bots
|
| -#@ must run from native_client
|
| -test-spec-bot() {
|
| - if [[ $# -lt 2 ]]; then
|
| - echo "Usage: $0 <bot_id> <spec_dir>"
|
| - echo " vs $@"
|
| - exit -1
|
| - fi
|
| -
|
| - if [[ $(basename $(pwd)) != "native_client" ]] ; then
|
| - echo "ERROR: run this script from the native_client/ dir"
|
| - exit -1
|
| - fi
|
| -
|
| - # Delete "scons-out" to handle the small number of cases where
|
| - # incremental builds fail. Ideally, though, there would be a build
|
| - # step that deletes all non-checked-in files, rather than having to
|
| - # list files/directories to delete explicitly.
|
| - AnnotatedRun "clean scons-out" rm -rf scons-out
|
| -
|
| - local bot_id=$1
|
| - local spec_dir=$2
|
| - case ${bot_id} in
|
| - 1)
|
| - # The ARM bot.
|
| - PrepareTrusted arm
|
| - PrepareSpec ${spec_dir}
|
| - BuildAndRunSetups "SetupPnaclArmOpt"
|
| - exit $?
|
| - ;;
|
| - 2)
|
| - # The X86 bot.
|
| - PrepareTrusted x86-32
|
| - PrepareTrusted x86-64
|
| - PrepareSpec ${spec_dir}
|
| - BuildAndRunSetups "SetupNaclX8664 SetupNaclX8664Opt
|
| -SetupPnaclX8632 SetupPnaclX8632Opt
|
| -SetupPnaclX8664 SetupPnaclX8664Opt"
|
| - exit $?
|
| - ;;
|
| - 3)
|
| - # The sandboxed translator bot.
|
| - PrepareTrusted x86-32
|
| - PrepareTrusted x86-64
|
| - PrepareSpec ${spec_dir}
|
| - BuildAndRunSetups "SetupPnaclTranslatorX8632 SetupPnaclTranslatorX8632Opt
|
| -SetupPnaclTranslatorX8664 SetupPnaclTranslatorX8664Opt"
|
| - exit $?
|
| - ;;
|
| -
|
| - BadTest)
|
| - # Bad bot ID for testing. See that one failure doesn't prevent others
|
| - # from running, and check bad return codes get propagated.
|
| - echo "Testing fake bot ID with forced failure"
|
| - PrepareTrusted x86-64
|
| - PrepareSpec ${spec_dir}
|
| - if ! BuildAndRunSetups "SetupBadBadBad SetupPnaclX8664Opt"; then
|
| - echo "SUCCESS: See that build failed!"
|
| - exit -1
|
| - else
|
| - exit 0
|
| - fi
|
| - ;;
|
| - *)
|
| - echo "$0 Given unknown bot-id -- ${bot_id}!"
|
| - exit -1
|
| - esac
|
| -}
|
| -
|
| -######################################################################
|
| -# Main
|
| -######################################################################
|
| -
|
| -test-spec-bot $@
|
|
|