#!/bin/sh # Copyright 2014 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Tests emerging all the ebuilds that use vboot_reference either as an # ebuild dependency or by checking out the code and compiling it in a # different ebuild. This is meant to be run from the chroot as part of testing # a new change in vboot_reference. # Required ebuilds: TEST_EBUILDS=" sys-boot/chromeos-bootimage sys-boot/chromeos-u-boot sys-boot/coreboot sys-boot/depthcharge chromeos-base/chromeos-cryptohome chromeos-base/chromeos-ec chromeos-base/chromeos-installer chromeos-base/chromeos-initramfs chromeos-base/chromeos-login chromeos-base/update_engine chromeos-base/vboot_reference chromeos-base/verity " set -e # Check running inside the chroot. if [ ! -e /etc/cros_chroot_version ]; then echo "You must run this inside the chroot." >&2 exit 1 fi # Detect the target board. if [ "x${BOARD}" == "x" ]; then if [ -e ~/trunk/src/scripts/.default_board ]; then BOARD="`cat ~/trunk/src/scripts/.default_board`" else echo "You must pass BOARD environment variable or set a default board." >&2 exit 1 fi fi VBOOT_REF_DIR="$(dirname "$0")" echo "Running tests for board '${BOARD}' from ${VBOOT_REF_DIR}" cd "${VBOOT_REF_DIR}" echo "Running make runtests..." make runtests -j32 echo "Removing build artifacts." rm -rf build build-main echo "Running emerge tests (runs cros_workon start)." # Ignore errors about already working on those repos. cros_workon-${BOARD} start ${TEST_EBUILDS} || true emerge-${BOARD} ${TEST_EBUILDS}