|  | #!/bin/bash -ex | 
|  | # Extract and run the OpenBMC robot test suite | 
|  | # | 
|  | # The robot test results will be copied to ${HOME} | 
|  | # | 
|  | #  Requires following env variables be set: | 
|  | #   IP_ADDR     IP Address of openbmc | 
|  | #   SSH_PORT    SSH port of openbmc | 
|  | #   HTTPS_PORT  HTTPS port of openbmc | 
|  | # | 
|  | #  Optional env variable | 
|  | #   ROBOT_CODE_HOME  Location to extract the code | 
|  | #                    Default will be a temp location in /tmp/ | 
|  | #   ROBOT_TEST_CMD   Command to execute from within obmc robot test framework | 
|  | #                    Default will be "tox -e qemu -- --include QEMU_CI tests" | 
|  | #   MACHINE          Type of system to run tests against | 
|  | #                    Default is qemu | 
|  |  | 
|  | # we don't want to fail on bad rc since robot tests may fail | 
|  |  | 
|  | MACHINE=${MACHINE:-"qemu"} | 
|  | ROBOT_CODE_HOME=${ROBOT_CODE_HOME:-/tmp/$(whoami)/${RANDOM}/obmc-robot/} | 
|  | ROBOT_TEST_CMD=${ROBOT_TEST_CMD:-"python3 -m robot\ | 
|  | -v OPENBMC_HOST:${IP_ADDR}\ | 
|  | -v SSH_PORT:${SSH_PORT}\ | 
|  | -v HTTPS_PORT:${HTTPS_PORT}\ | 
|  | --argumentfile ./test_lists/QEMU_CI ./tests"} | 
|  |  | 
|  | git clone https://github.com/openbmc/openbmc-test-automation.git \ | 
|  | "${ROBOT_CODE_HOME}" | 
|  |  | 
|  | cd "${ROBOT_CODE_HOME}" | 
|  |  | 
|  | chmod ugo+rw -R "${ROBOT_CODE_HOME}"/* | 
|  |  | 
|  | # Execute the CI tests | 
|  | eval "${ROBOT_TEST_CMD}" | 
|  |  | 
|  | cp "${ROBOT_CODE_HOME}"/*.xml "${HOME}/" | 
|  | cp "${ROBOT_CODE_HOME}"/*.html "${HOME}/" | 
|  | if [ -d logs ] ; then | 
|  | cp -Rf "${ROBOT_CODE_HOME}"/logs "${HOME}"/ ; | 
|  | fi | 
|  |  | 
|  | #rm -rf ${ROBOT_CODE_HOME} |