xref: /openbmc/openbmc-build-scripts/scripts/run-robot.sh (revision 0c63ce1b7dc4efa4e6ba0ed5803284d099a1ace8)
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:-"tox -e ${MACHINE} -- --argumentfile test_lists/QEMU_CI tests"}
24
25git clone https://github.com/openbmc/openbmc-test-automation.git \
26        ${ROBOT_CODE_HOME}
27
28cd ${ROBOT_CODE_HOME}
29
30chmod ugo+rw -R ${ROBOT_CODE_HOME}/*
31
32# Execute the CI tests
33export OPENBMC_HOST=${IP_ADDR}
34export SSH_PORT=${SSH_PORT}
35export HTTPS_PORT=${HTTPS_PORT}
36
37"$($ROBOT_TEST_CMD)"
38
39cp ${ROBOT_CODE_HOME}/*.xml ${HOME}/
40cp ${ROBOT_CODE_HOME}/*.html ${HOME}/
41if [ -d logs ] ; then
42    cp -Rf ${ROBOT_CODE_HOME}/logs ${HOME}/ ;
43fi
44
45#rm -rf ${ROBOT_CODE_HOME}
46