1b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo#!/bin/sh 2b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# Copyright 2014 The Chromium OS Authors. All rights reserved. 3b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# Use of this source code is governed by a BSD-style license that can be 4b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# found in the LICENSE file. 5b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 6b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# Tests emerging all the ebuilds that use vboot_reference either as an 7b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# ebuild dependency or by checking out the code and compiling it in a 8b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# different ebuild. This is meant to be run from the chroot as part of testing 9b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# a new change in vboot_reference. 10b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 11b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# Required ebuilds: 12b77aff570216cf1a58d687bde1512d88edba519fAlex DeymoTEST_EBUILDS=" 13b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo sys-boot/chromeos-bootimage 14e08ee28548934e933733babf0bc0c418142d095dAlex Deymo sys-boot/chromeos-u-boot 15b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo sys-boot/coreboot 16b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo sys-boot/depthcharge 17b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/chromeos-cryptohome 18b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/chromeos-ec 19b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/chromeos-installer 20b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/chromeos-initramfs 21b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/chromeos-login 22b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/update_engine 23b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/vboot_reference 24b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo chromeos-base/verity 25b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo" 26b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 27b77aff570216cf1a58d687bde1512d88edba519fAlex Deymoset -e 28b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 29b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# Check running inside the chroot. 30b77aff570216cf1a58d687bde1512d88edba519fAlex Deymoif [ ! -e /etc/cros_chroot_version ]; then 31b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo echo "You must run this inside the chroot." >&2 32b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo exit 1 33b77aff570216cf1a58d687bde1512d88edba519fAlex Deymofi 34b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 35b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# Detect the target board. 36b77aff570216cf1a58d687bde1512d88edba519fAlex Deymoif [ "x${BOARD}" == "x" ]; then 37b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo if [ -e ~/trunk/src/scripts/.default_board ]; then 38b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo BOARD="`cat ~/trunk/src/scripts/.default_board`" 39b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo else 40b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo echo "You must pass BOARD environment variable or set a default board." >&2 41b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo exit 1 42b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo fi 43b77aff570216cf1a58d687bde1512d88edba519fAlex Deymofi 44b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 45b77aff570216cf1a58d687bde1512d88edba519fAlex DeymoVBOOT_REF_DIR="$(dirname "$0")" 46b77aff570216cf1a58d687bde1512d88edba519fAlex Deymoecho "Running tests for board '${BOARD}' from ${VBOOT_REF_DIR}" 47b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 48b77aff570216cf1a58d687bde1512d88edba519fAlex Deymocd "${VBOOT_REF_DIR}" 49b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 50b77aff570216cf1a58d687bde1512d88edba519fAlex Deymoecho "Running make runtests..." 51b77aff570216cf1a58d687bde1512d88edba519fAlex Deymomake runtests -j32 52b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 53b77aff570216cf1a58d687bde1512d88edba519fAlex Deymoecho "Removing build artifacts." 54b77aff570216cf1a58d687bde1512d88edba519fAlex Deymorm -rf build build-main 55b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 56b77aff570216cf1a58d687bde1512d88edba519fAlex Deymoecho "Running emerge tests (runs cros_workon start)." 57b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo# Ignore errors about already working on those repos. 58b77aff570216cf1a58d687bde1512d88edba519fAlex Deymocros_workon-${BOARD} start ${TEST_EBUILDS} || true 59b77aff570216cf1a58d687bde1512d88edba519fAlex Deymo 60b77aff570216cf1a58d687bde1512d88edba519fAlex DeymoUSE=depthcharge emerge-${BOARD} ${TEST_EBUILDS} 61