1#!/bin/bash -x 2# Extract and run the OpenBMC robot test suite 3# 4# The robot test results will be copied to ${HOME} 5# 6# Requires following env variables be set: 7# IP_ADDR IP Address of openbmc 8# SSH_PORT SSH port of openbmc 9# HTTPS_PORT HTTPS port of openbmc 10# 11# Optional env variable 12# ROBOT_CODE_HOME Location to extract the code 13# Default will be a temp location in /tmp/ 14# ROBOT_TEST_CMD Command to execute from within obmc robot test framework 15# Default will be "tox -e qemu -- --include QEMU_CI tests" 16# MACHINE Type of system to run tests against 17# Default is qemu 18 19# we don't want to fail on bad rc since robot tests may fail 20 21MACHINE=${MACHINE:-"qemu"} 22ROBOT_CODE_HOME=${ROBOT_CODE_HOME:-/tmp/$(whoami)/${RANDOM}/obmc-robot/} 23ROBOT_TEST_CMD="${ROBOT_TEST_CMD:-"python3 -m robot\ 24 -v OPENBMC_HOST:${IP_ADDR}\ 25 -v OPENBMC_PASSWORD:0penBmc\ 26 -v IPMI_PASSWORD:0penBmc\ 27 -v SSH_PORT:${SSH_PORT}\ 28 -v HTTPS_PORT:${HTTPS_PORT}\ 29 -v REDFISH_SUPPORT_TRANS_STATE:1\ 30 --argumentfile ./test_lists/QEMU_CI ./redfish ./ipmi"}" 31 32git clone https://github.com/openbmc/openbmc-test-automation.git \ 33 "${ROBOT_CODE_HOME}" 34 35cd "${ROBOT_CODE_HOME}" || exit 36 37chmod ugo+rw -R "${ROBOT_CODE_HOME}"/* 38 39# Execute the CI tests 40eval "${ROBOT_TEST_CMD}" 41 42cp "${ROBOT_CODE_HOME}"/*.xml "${HOME}/" 43cp "${ROBOT_CODE_HOME}"/*.html "${HOME}/" 44if [ -d logs ] ; then 45 cp -Rf "${ROBOT_CODE_HOME}"/logs "${HOME}"/ ; 46fi 47 48#rm -rf ${ROBOT_CODE_HOME} 49