Skip to content
Snippets Groups Projects
run.sh 981 B
Newer Older
L4168's avatar
L4168 committed
#!/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)
M3079's avatar
M3079 committed
DEFAULT_RES="1920x1080x24"
L4168's avatar
L4168 committed
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)