#!/bin/sh

set -eu

# Needed to find lighttpd binary
export PATH="/sbin:/usr/sbin:$PATH"

PORT=8888
DOCROOT="$AUTOPKGTEST_TMP/docroot"
CONF="$AUTOPKGTEST_TMP/lighttpd.conf"
mkdir -p "$DOCROOT"
cat >"$CONF" <<EOF
server.document-root = "$DOCROOT"
server.port = $PORT
mimetype.assign   += ( ".html" => "text/html", ".css" => "text/css" )
EOF

mkdir -p $DOCROOT/debian/tests
mkdir -p $DOCROOT/src

cp ./test/jquery-ui-timepicker-addon_spec.js $DOCROOT
cp ./test/SpecRunner.html $DOCROOT
cp ./debian/missing-sources/jasmine-fixture-2.0.0.js $DOCROOT/debian
cp /usr/share/javascript/jquery-timepicker/jquery-ui-timepicker-addon.js $DOCROOT/src
ln -s /usr/share/nodejs/jasmine-core/lib/jasmine-core $DOCROOT/debian/tests/jasmine-core
ln -s /usr/share/javascript/jquery/jquery.js $DOCROOT/debian/tests/jquery.js
ln -s /usr/share/javascript/jquery-ui/jquery-ui.js $DOCROOT/debian/tests/jquery-ui.js

# validate test configuration
lighttpd -tt -f "$CONF"

lighttpd -D -f "$CONF" 2>/dev/stdout &
LIGHTTPD_PID=$!

# Allow commands to fail
set +e

# Wait a bit for things to stale
sleep 5

# Do tests
python3 ./debian/tests/test-runner.py

EXIT_CODE=$?
if [ "$EXIT_CODE" -ne "0" ]; then
    echo "Tests failed !"
fi

trap 'kill "$LIGHTTPD_PID"' EXIT

exit $EXIT_CODE