#!/bin/bash

TEST_FILE=${1##*/}
TEST_NAME=${TEST_FILE%.*}

if [ -z "$TEST_NAME" ]; then
	echo "usage: $(basename $0) <test name>"
	exit 1;
fi

WESTON=$abs_builddir/weston
LOGDIR=$abs_builddir/logs

mkdir -p "$LOGDIR" || exit

SERVERLOG="$LOGDIR/${TEST_NAME}-serverlog.txt"
OUTLOG="$LOGDIR/${TEST_NAME}-log.txt"

rm -f "$SERVERLOG" || exit

BACKEND=${BACKEND:-headless-backend.so}

MODDIR=$abs_builddir/.libs

SHELL_PLUGIN=$MODDIR/desktop-shell.so
TEST_PLUGIN=$MODDIR/weston-test.so

for mod in cms-colord cms-static desktop-shell drm-backend fbdev-backend \
	   fullscreen-shell gl-renderer headless-backend hmi-controller \
	   ivi-shell rdp-compositor screen-share wayland-backend \
	   weston-test-desktop-shell x11-backend xwayland; do
	WESTON_MODULE_MAP="${WESTON_MODULE_MAP}${mod}.so=${abs_builddir}/.libs/${mod}.so;"
done

for exe in weston-desktop-shell weston-keyboard weston-screenshooter \
	   weston-simple-im; do \
	WESTON_MODULE_MAP="${WESTON_MODULE_MAP}${exe}=${abs_builddir}/${exe};"
done

WESTON_MODULE_MAP="${WESTON_MODULE_MAP}weston-ivi-layout-test-client=${abs_builddir}/ivi-layout-test-client.ivi;"

export WESTON_MODULE_MAP

CONFIG_FILE="${TEST_NAME}.ini"

if [ -e "${abs_builddir}/${CONFIG_FILE}" ]; then
       CONFIG="--config=${abs_builddir}/${CONFIG_FILE}"
elif [ -e "${abs_top_srcdir}/tests/${CONFIG_FILE}" ]; then
       CONFIG="--config=${abs_top_srcdir}/tests/${CONFIG_FILE}"
else
       CONFIG="--no-config"
fi

case $TEST_FILE in
	ivi-*.la|ivi-*.so)
		SHELL_PLUGIN=$MODDIR/ivi-shell.so

		set -x
		WESTON_TEST_REFERENCE_PATH=$abs_top_srcdir/tests/reference \
		$WESTON --backend=$MODDIR/$BACKEND \
			--config=$abs_builddir/tests/weston-ivi.ini \
			--shell=$SHELL_PLUGIN \
			--socket=test-${TEST_NAME} \
			--modules=$TEST_PLUGIN \
			--ivi-module=$MODDIR/${TEST_FILE/.la/.so} \
			--log="$SERVERLOG" \
			&> "$OUTLOG"
		;;
	*.la|*.so)
		set -x
		WESTON_TEST_REFERENCE_PATH=$abs_top_srcdir/tests/reference \
		$WESTON --backend=$MODDIR/$BACKEND \
			${CONFIG} \
			--shell=$SHELL_PLUGIN \
			--socket=test-${TEST_NAME} \
			--xwayland \
			--modules=$MODDIR/${TEST_FILE/.la/.so} \
			--log="$SERVERLOG" \
			&> "$OUTLOG"
		;;
	ivi-*.weston)
		SHELL_PLUGIN=$MODDIR/ivi-shell.so

		set -x
		WESTON_TEST_REFERENCE_PATH=$abs_top_srcdir/tests/reference \
		WESTON_TEST_CLIENT_PATH=$abs_builddir/$TEST_FILE \
		$WESTON --backend=$MODDIR/$BACKEND \
			--config=$abs_builddir/tests/weston-ivi.ini \
			--shell=$SHELL_PLUGIN \
			--socket=test-${TEST_NAME} \
			--modules=$TEST_PLUGIN \
			--log="$SERVERLOG" \
			$($abs_builddir/$TESTNAME --params) \
			&> "$OUTLOG"
		;;
	*)
		set -x
		WESTON_TEST_REFERENCE_PATH=$abs_top_srcdir/tests/reference \
		WESTON_TEST_CLIENT_PATH=$abs_builddir/$TEST_FILE \
		$WESTON --backend=$MODDIR/$BACKEND \
			${CONFIG} \
			--shell=$SHELL_PLUGIN \
			--socket=test-${TEST_NAME} \
			--xwayland \
			--modules=$TEST_PLUGIN \
			--log="$SERVERLOG" \
			$($abs_builddir/$TEST_FILE --params) \
			&> "$OUTLOG"
esac
