#!/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}
