#!/bin/bash -x
# Extract and run the OpenBMC robot test suite
#
# The robot test results will be copied to ${HOME}
#
#  Requires following env variables be set:
#   IP_ADDR     IP Address of openbmc
#   SSH_PORT    SSH port of openbmc
#   HTTPS_PORT  HTTPS port of openbmc
#
#  Optional env variable
#   ROBOT_CODE_HOME  Location to extract the code
#                    Default will be a temp location in /tmp/
#   ROBOT_TEST_CMD   Command to execute from within obmc robot test framework
#                    Default will be "tox -e qemu -- --include QEMU_CI tests"
#   MACHINE          Type of system to run tests against
#                    Default is qemu

# we don't want to fail on bad rc since robot tests may fail

MACHINE=${MACHINE:-"qemu"}
ROBOT_CODE_HOME=${ROBOT_CODE_HOME:-/tmp/$(whoami)/${RANDOM}/obmc-robot/}
ROBOT_TEST_CMD="${ROBOT_TEST_CMD:-"python3 -m robot\
    -v OPENBMC_HOST:${IP_ADDR}\
    -v SSH_PORT:${SSH_PORT}\
    -v HTTPS_PORT:${HTTPS_PORT}\
    -v REDFISH_SUPPORT_TRANS_STATE:1\
    --argumentfile ./test_lists/QEMU_CI ./tests ./redfish ./ipmi"}"

git clone https://github.com/openbmc/openbmc-test-automation.git \
    "${ROBOT_CODE_HOME}"

cd "${ROBOT_CODE_HOME}" || exit

chmod ugo+rw -R "${ROBOT_CODE_HOME}"/*

# Execute the CI tests
eval "${ROBOT_TEST_CMD}"

cp "${ROBOT_CODE_HOME}"/*.xml "${HOME}/"
cp "${ROBOT_CODE_HOME}"/*.html "${HOME}/"
if [ -d logs ] ; then
    cp -Rf "${ROBOT_CODE_HOME}"/logs "${HOME}"/ ;
fi

#rm -rf ${ROBOT_CODE_HOME}
