mirror of
https://github.com/HSLdevcom/digitransit-ui
synced 2025-06-16 05:00:40 +02:00
49 lines
1.3 KiB
Bash
Executable file
49 lines
1.3 KiB
Bash
Executable file
#/bin/bash
|
|
set -e
|
|
|
|
cleanup() {
|
|
kill -- -"$NODE_PID"
|
|
}
|
|
|
|
trap "exit $TESTSTATUS" INT TERM
|
|
trap cleanup EXIT
|
|
|
|
GECKODRIVER_URL="https://github.com/mozilla/geckodriver/releases/download/v0.30.0/geckodriver-v0.30.0-linux64.tar.gz"
|
|
GECKODRIVER_FILENAME=$(echo $GECKODRIVER_URL | awk -F/ '{print $NF}')
|
|
|
|
# Silence output and send to background
|
|
set -m; (
|
|
CONFIG=hsl NODE_OPTS=--max_old_space_size=1000 yarn start >/dev/null 2>&1 &
|
|
) & set +m; NODE_PID=$!
|
|
|
|
# Install firefox if needed
|
|
if ! [ -x "$(command -v firefox)" ]
|
|
then
|
|
echo "Firefox could not be found, trying to install..."
|
|
sudo apt install firefox
|
|
fi
|
|
|
|
# Fetch required webrivers
|
|
if [ ! -f ./test/binaries/$GECKODRIVER_FILENAME ]
|
|
then
|
|
mkdir -p ./test/binaries
|
|
wget -NP ./test/binaries $GECKODRIVER_URL
|
|
tar --skip-old-files -xzf ./test/binaries/geckodriver-* -C ./test/binaries
|
|
chmod +x ./test/binaries/geckodriver
|
|
fi
|
|
export PATH=$PATH:./test/binaries
|
|
|
|
echo "Waiting for the Digitransit UI to start..."
|
|
# Wait until server is accepting connections
|
|
while ! echo exit | nc localhost 8080; do sleep 3; done
|
|
|
|
# Enable when chrome testing works
|
|
#wget -N http://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
|
|
#unzip -n chromedriver_linux64.zip
|
|
#CHROMEDRIVER=./chromedriver
|
|
|
|
echo "Starting tests..."
|
|
node ./test/accessibility/run-test.js "$@"
|
|
TESTSTATUS=$?
|
|
|
|
set +e
|