blob: 4a352ff0d519f5c0b4e77379d3fc7b3a873d7aa6 [file] [log] [blame]
#!/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
WESTON_MODULE_MAP=
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 ivi-layout-test-client.ivi; do \
WESTON_MODULE_MAP="${WESTON_MODULE_MAP}${exe}=${abs_builddir}/${exe};"
done
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_MODULE_MAP="${WESTON_MODULE_MAP}" \
WESTON_DATA_DIR=$abs_top_srcdir/data \
WESTON_TEST_REFERENCE_PATH=$abs_top_srcdir/tests/reference \
$WESTON --backend=$MODDIR/$BACKEND \
--no-config \
--shell=$SHELL_PLUGIN \
--socket=test-${TEST_NAME} \
--modules=$TEST_PLUGIN,$MODDIR/${TEST_FILE/.la/.so}\
--log="$SERVERLOG" \
&> "$OUTLOG"
;;
*.la|*.so)
set -x
WESTON_MODULE_MAP="${WESTON_MODULE_MAP}" \
WESTON_DATA_DIR=$abs_top_srcdir/data \
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_MODULE_MAP="${WESTON_MODULE_MAP}" \
WESTON_DATA_DIR=$abs_top_srcdir/data \
WESTON_TEST_REFERENCE_PATH=$abs_top_srcdir/tests/reference \
WESTON_TEST_CLIENT_PATH=$abs_builddir/$TEST_FILE \
$WESTON --backend=$MODDIR/$BACKEND \
--no-config \
--shell=$SHELL_PLUGIN \
--socket=test-${TEST_NAME} \
--modules=$TEST_PLUGIN \
--log="$SERVERLOG" \
$($abs_builddir/$TESTNAME --params) \
&> "$OUTLOG"
;;
*)
set -x
WESTON_MODULE_MAP="${WESTON_MODULE_MAP}" \
WESTON_DATA_DIR=$abs_top_srcdir/data \
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