# bootconfig.conf
#
# Tests to test some bootconfig scripts

# List where on the target machine the initrd is used
INITRD := /boot/initramfs-test.img

# Install bootconfig on the target machine and define the path here.
BOOTCONFIG := /usr/bin/bootconfig

# Currenty we just build the .config in the BUILD_DIR
BUILD_TYPE := oldconfig

# Helper macro to run bootconfig on the target
# SSH is defined in include/defaults.conf
ADD_BOOTCONFIG := ${SSH} "${BOOTCONFIG} -d ${INITRD} && ${BOOTCONFIG} -a /tmp/${BOOTCONFIG_FILE} ${INITRD}"

# This copies a bootconfig script to the target and then will
# add it to the initrd. SSH_USER is defined in include/defaults.conf
# and MACHINE is defined in the example configs.
BOOTCONFIG_TEST_PREP = scp ${BOOTCONFIG_PATH}${BOOTCONFIG_FILE} ${SSH_USER}@${MACHINE}:/tmp && ${ADD_BOOTCONFIG}

# When a test is complete, remove the bootconfig from the initrd.
CLEAR_BOOTCONFIG := ${SSH} "${BOOTCONFIG} -d ${INITRD}"

# Run a verifier on the target after it had booted, to make sure that the
# bootconfig script did what it was expected to do
DO_TEST = scp ${BOOTCONFIG_PATH}${BOOTCONFIG_VERIFY} ${SSH_USER}@${MACHINE}:/tmp && ${SSH} /tmp/${BOOTCONFIG_VERIFY}

# Comment this out to not run the boot configs
RUN_BOOTCONFIG := 1

TEST_START IF DEFINED RUN_BOOTCONFIG
TEST_TYPE = test
TEST_NAME = bootconfig boottrace
# Just testing the bootconfig on initrd, no need to build the kernel
BUILD_TYPE = nobuild
BOOTCONFIG_FILE = boottrace.bconf
BOOTCONFIG_VERIFY = verify-boottrace.sh
ADD_CONFIG = ${ADD_CONFIG} ${BOOTCONFIG_PATH}/config-bootconfig
PRE_TEST = ${BOOTCONFIG_TEST_PREP}
PRE_TEST_DIE = 1
TEST = ${DO_TEST}
POST_TEST = ${CLEAR_BOOTCONFIG}

TEST_START IF DEFINED RUN_BOOTCONFIG
TEST_TYPE = test
TEST_NAME = bootconfig function graph
BUILD_TYPE = nobuild
BOOTCONFIG_FILE = functiongraph.bconf
BOOTCONFIG_VERIFY = verify-functiongraph.sh
ADD_CONFIG = ${ADD_CONFIG} ${BOOTCONFIG_PATH}/config-bootconfig
PRE_TEST = ${BOOTCONFIG_TEST_PREP}
PRE_TEST_DIE = 1
TEST = ${DO_TEST}
POST_TEST = ${CLEAR_BOOTCONFIG}

TEST_START IF DEFINED RUN_BOOTCONFIG
TEST_TYPE = test
TEST_NAME = bootconfig tracing
BUILD_TYPE = nobuild
BOOTCONFIG_FILE = tracing.bconf
BOOTCONFIG_VERIFY = verify-tracing.sh
ADD_CONFIG = ${ADD_CONFIG} ${BOOTCONFIG_PATH}/config-bootconfig
PRE_TEST = ${BOOTCONFIG_TEST_PREP}
PRE_TEST_DIE = 1
TEST = ${DO_TEST}
POST_TEST = ${CLEAR_BOOTCONFIG}

