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