10205e8daSAndrew 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/}
23*cd1b0ac6SAndrew GeisslerROBOT_TEST_CMD=${ROBOT_TEST_CMD:-"python3 -m robot\
24c5c46920SAndrew Geissler    -v OPENBMC_HOST:${IP_ADDR}\
25c5c46920SAndrew Geissler    -v SSH_PORT:${SSH_PORT}\
26c5c46920SAndrew Geissler    -v HTTPS_PORT:${HTTPS_PORT}\
27c5c46920SAndrew Geissler    --argumentfile ./test_lists/QEMU_CI ./tests"}
280205e8daSAndrew Geissler
290205e8daSAndrew Geisslergit clone https://github.com/openbmc/openbmc-test-automation.git \
300205e8daSAndrew Geissler        ${ROBOT_CODE_HOME}
310205e8daSAndrew Geissler
320205e8daSAndrew Geisslercd ${ROBOT_CODE_HOME}
330205e8daSAndrew Geissler
340205e8daSAndrew Geisslerchmod ugo+rw -R ${ROBOT_CODE_HOME}/*
350205e8daSAndrew Geissler
360205e8daSAndrew Geissler# Execute the CI tests
378890641bSAndrew Geissler"$($ROBOT_TEST_CMD)"
380205e8daSAndrew Geissler
390205e8daSAndrew Geisslercp ${ROBOT_CODE_HOME}/*.xml ${HOME}/
400205e8daSAndrew Geisslercp ${ROBOT_CODE_HOME}/*.html ${HOME}/
41d3583927SCharles Hoferif [ -d logs ] ; then
42d3583927SCharles Hofer    cp -Rf ${ROBOT_CODE_HOME}/logs ${HOME}/ ;
43d3583927SCharles Hoferfi
440205e8daSAndrew Geissler
450205e8daSAndrew Geissler#rm -rf ${ROBOT_CODE_HOME}
46