| #!/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 |