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