blob: aad4bfd617b023162686201af15b97dde61cb0a2 [file] [log] [blame]
Andrew Geissler0205e8d2016-08-10 07:46:19 -05001#!/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/
Andrew Geissler88906412016-09-02 10:30:47 -050014# ROBOT_TEST_CMD Command to execute from within obmc robot test framework
Andrew Geissler0c63ce12018-03-01 12:40:19 -080015# Default will be "tox -e qemu -- --include QEMU_CI tests"
16# MACHINE Type of system to run tests against
17# Default is qemu
Andrew Geissler0205e8d2016-08-10 07:46:19 -050018
19# we don't want to fail on bad rc since robot tests may fail
20
Patrick Williams384d7412020-11-06 16:15:41 -060021set -e
22
Andrew Geissler0c63ce12018-03-01 12:40:19 -080023MACHINE=${MACHINE:-"qemu"}
Andrew Geissler0205e8d2016-08-10 07:46:19 -050024ROBOT_CODE_HOME=${ROBOT_CODE_HOME:-/tmp/$(whoami)/${RANDOM}/obmc-robot/}
Andrew Geisslercd1b0ac2019-05-30 11:18:45 -050025ROBOT_TEST_CMD=${ROBOT_TEST_CMD:-"python3 -m robot\
Andrew Geisslerc5c46922019-01-23 10:44:21 -060026 -v OPENBMC_HOST:${IP_ADDR}\
27 -v SSH_PORT:${SSH_PORT}\
28 -v HTTPS_PORT:${HTTPS_PORT}\
29 --argumentfile ./test_lists/QEMU_CI ./tests"}
Andrew Geissler0205e8d2016-08-10 07:46:19 -050030
31git clone https://github.com/openbmc/openbmc-test-automation.git \
Patrick Williams384d7412020-11-06 16:15:41 -060032 "${ROBOT_CODE_HOME}"
Andrew Geissler0205e8d2016-08-10 07:46:19 -050033
Patrick Williams384d7412020-11-06 16:15:41 -060034cd "${ROBOT_CODE_HOME}"
Andrew Geissler0205e8d2016-08-10 07:46:19 -050035
Patrick Williams384d7412020-11-06 16:15:41 -060036chmod ugo+rw -R "${ROBOT_CODE_HOME}"/*
Andrew Geissler0205e8d2016-08-10 07:46:19 -050037
38# Execute the CI tests
Patrick Williams384d7412020-11-06 16:15:41 -060039# shellcheck disable=SC2091 # intentionally executing ROBOT_TEST_CMD.
40$($ROBOT_TEST_CMD)
Andrew Geissler0205e8d2016-08-10 07:46:19 -050041
Patrick Williams384d7412020-11-06 16:15:41 -060042cp "${ROBOT_CODE_HOME}"/*.xml "${HOME}/"
43cp "${ROBOT_CODE_HOME}"/*.html "${HOME}/"
Charles Hoferd3583922016-12-13 12:31:02 -060044if [ -d logs ] ; then
Patrick Williams384d7412020-11-06 16:15:41 -060045 cp -Rf "${ROBOT_CODE_HOME}"/logs "${HOME}"/ ;
Charles Hoferd3583922016-12-13 12:31:02 -060046fi
Andrew Geissler0205e8d2016-08-10 07:46:19 -050047
48#rm -rf ${ROBOT_CODE_HOME}