50 lines
1.3 KiB
Bash
Executable File
50 lines
1.3 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
set -e
|
|
set -x
|
|
|
|
git remote prune origin
|
|
|
|
# Reset the submodule, in case it changed
|
|
git submodule foreach 'git reset --hard HEAD'
|
|
|
|
# Set the IO encoding to UTF-8 so that askbot will start
|
|
export PYTHONIOENCODING=UTF-8
|
|
|
|
if [ ! -d /mnt/virtualenvs/"$JOB_NAME" ]; then
|
|
mkdir -p /mnt/virtualenvs/"$JOB_NAME"
|
|
virtualenv --system-site-packages /mnt/virtualenvs/"$JOB_NAME"
|
|
fi
|
|
|
|
export PIP_DOWNLOAD_CACHE=/mnt/pip-cache
|
|
|
|
source /mnt/virtualenvs/"$JOB_NAME"/bin/activate
|
|
rake install_prereqs
|
|
rake clobber
|
|
|
|
TESTS_FAILED=0
|
|
|
|
# Assumes that Xvfb has been started by upstart
|
|
# and is capturing display :1
|
|
# The command for this is:
|
|
# /usr/bin/Xvfb :1 -screen 0 1024x268x24
|
|
# This allows us to run Chrome or Firefox without a display
|
|
export DISPLAY=:1
|
|
SKIP_TESTS=""
|
|
|
|
# Testing for the existance of these environment variables
|
|
if [ ! -z ${LETTUCE_BROWSER+x} ]; then
|
|
SKIP_TESTS="--tag -skip_$LETTUCE_BROWSER"
|
|
fi
|
|
if [ "$LETTUCE_SELENIUM_CLIENT" == saucelabs ]; then
|
|
# SAUCE_INFO is a - seperated string PLATFORM-BROWSER-VERSION-DEVICE
|
|
# Error checking is done in the setting up of the browser
|
|
IFS='-' read -a SAUCE <<< "${SAUCE_INFO}"
|
|
SKIP_TESTS="--tag -skip_sauce --tag -skip_${SAUCE[1]}"
|
|
fi
|
|
|
|
# Run the lms and cms acceptance tests
|
|
rake test:acceptance["$SKIP_TESTS"] || TESTS_FAILED=1
|
|
|
|
[ $TESTS_FAILED == '0' ]
|