Newer
Older
#!/bin/bash
# Entry script to start Xvfb and set display
set -e
# Set the defaults
DEFAULT_LOG_LEVEL="INFO" # Available levels: TRACE, DEBUG, INFO (default), WARN, NONE (no logging)
DEFAULT_DISPLAY=":99"
# Use default if none specified as env var
LOG_LEVEL=${LOG_LEVEL:-$DEFAULT_LOG_LEVEL}
RES=${RES:-$DEFAULT_RES}
DISPLAY=${DISPLAY:-$DEFAULT_DISPLAY}
if [[ -z ${ROBOT_TESTS} ]];
then
echo "Error: Please specify the robot test or directory as env var ROBOT_TESTS"
exit 1
fi
if [[ -z ${OUTPUT_DIR} ]];
then
echo "Error: Please specify the output directory as env var OUTPUT_DIR"
exit 1
fi
# Start Xvfb
echo -e "Starting Xvfb on display ${DISPLAY} with res ${RES}"
Xvfb ${DISPLAY} -ac -screen 0 ${RES} +extension RANDR &
export DISPLAY=${DISPLAY}
# Execute tests
echo -e "Executing robot tests at log level ${LOG_LEVEL}"
robot --loglevel ${LOG_LEVEL} --outputdir ${OUTPUT_DIR} ${ROBOT_TESTS}
# Stop Xvfb
kill -9 $(pgrep Xvfb)