112cd9a47SAndrew Geissler#!/bin/bash -x
20205e8daSAndrew Geissler# Extract and run the OpenBMC robot test suite
30205e8daSAndrew Geissler#
40205e8daSAndrew Geissler# The robot test results will be copied to ${HOME}
50205e8daSAndrew Geissler#
60205e8daSAndrew Geissler#  Requires following env variables be set:
70205e8daSAndrew Geissler#   IP_ADDR     IP Address of openbmc
80205e8daSAndrew Geissler#   SSH_PORT    SSH port of openbmc
90205e8daSAndrew Geissler#   HTTPS_PORT  HTTPS port of openbmc
100205e8daSAndrew Geissler#
110205e8daSAndrew Geissler#  Optional env variable
120205e8daSAndrew Geissler#   ROBOT_CODE_HOME  Location to extract the code
130205e8daSAndrew Geissler#                    Default will be a temp location in /tmp/
148890641bSAndrew Geissler#   ROBOT_TEST_CMD   Command to execute from within obmc robot test framework
150c63ce1bSAndrew Geissler#                    Default will be "tox -e qemu -- --include QEMU_CI tests"
160c63ce1bSAndrew Geissler#   MACHINE          Type of system to run tests against
170c63ce1bSAndrew Geissler#                    Default is qemu
180205e8daSAndrew Geissler
190205e8daSAndrew Geissler# we don't want to fail on bad rc since robot tests may fail
200205e8daSAndrew Geissler
210c63ce1bSAndrew GeisslerMACHINE=${MACHINE:-"qemu"}
220205e8daSAndrew GeisslerROBOT_CODE_HOME=${ROBOT_CODE_HOME:-/tmp/$(whoami)/${RANDOM}/obmc-robot/}
23476a7e99SPatrick WilliamsROBOT_TEST_CMD="${ROBOT_TEST_CMD:-"python3 -m robot\
24c5c46920SAndrew Geissler    -v OPENBMC_HOST:${IP_ADDR}\
25*e24df800SGeorge Keishing    -v OPENBMC_PASSWORD:0penBmc\
26*e24df800SGeorge Keishing    -v IPMI_PASSWORD:0penBmc\
27c5c46920SAndrew Geissler    -v SSH_PORT:${SSH_PORT}\
28c5c46920SAndrew Geissler    -v HTTPS_PORT:${HTTPS_PORT}\
29d5ce1a23SGeorge Keishing    -v REDFISH_SUPPORT_TRANS_STATE:1\
30f116f6faSGeorge Keishing    --argumentfile ./test_lists/QEMU_CI ./redfish ./ipmi"}"
310205e8daSAndrew Geissler
320205e8daSAndrew Geisslergit clone https://github.com/openbmc/openbmc-test-automation.git \
33384d741bSPatrick Williams    "${ROBOT_CODE_HOME}"
340205e8daSAndrew Geissler
35cf77603bSPatrick Williamscd "${ROBOT_CODE_HOME}" || exit
360205e8daSAndrew Geissler
37384d741bSPatrick Williamschmod ugo+rw -R "${ROBOT_CODE_HOME}"/*
380205e8daSAndrew Geissler
390205e8daSAndrew Geissler# Execute the CI tests
4049f456b1SPatrick Williamseval "${ROBOT_TEST_CMD}"
410205e8daSAndrew Geissler
42384d741bSPatrick Williamscp "${ROBOT_CODE_HOME}"/*.xml "${HOME}/"
43384d741bSPatrick Williamscp "${ROBOT_CODE_HOME}"/*.html "${HOME}/"
44d3583927SCharles Hoferif [ -d logs ] ; then
45384d741bSPatrick Williams    cp -Rf "${ROBOT_CODE_HOME}"/logs "${HOME}"/ ;
46d3583927SCharles Hoferfi
470205e8daSAndrew Geissler
480205e8daSAndrew Geissler#rm -rf ${ROBOT_CODE_HOME}
49