#!/bin/bash TEST_FILE=${1##*/} TEST_NAME=${TEST_FILE%.*} if [ -z "$TEST_NAME" ]; then echo "usage: $(basename $0) " 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