tests/tools/run_python_tests.sh
author Edouard Tisserant
Thu, 04 Jun 2020 11:14:21 +0200
branchsvghmi
changeset 2980 2a21d6060d64
parent 2436 82bfc75bcd9d
permissions -rwxr-xr-x
SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons.
In most cases jump buttons do not really subscribe to pointed HMI variable, path is given as a relative page jump path. When widget.unsubscribable is set to true, no subscription is made on page switch, but still offset is updated.
This fixes bug happening on relative jump buttons without "disabled" element where offset did not change on relative page switch.
#!/bin/sh



cleanup()
{
    find $PYTEST_DIR -name '*.pyc' -delete
}



print_help()
{
    echo "Usage: run_python_tests.sh [--on-local-xserver]"
    echo ""
    echo "--on-local-xserver"
    echo "                all tests are run on local X-server. "
    echo "                User can see test in action."
    echo "                Any interaction (mouse, keyboard) should be avoided"
    echo "                By default without arguments script runs pytest on virtual X serverf."
    echo ""

    exit 1
}

main()
{
    LC_ALL=ru_RU.utf-8
    PYTEST_DIR=./tests/tools

    if [ ! -d $PYTEST_DIR ]; then
	echo "Script should be run from top directory in repository"
	exit 1;
    fi

    use_xvfb=0
    if [ "$1" != "--on-local-xserver" ]; then
	export DISPLAY=:42
	use_xvfb=1
	Xvfb $DISPLAY -screen 0 1280x1024x24 &
	sleep 1
    fi


    cleanup

    ret=0
    DELAY=400
    KILL_DELAY=$(($DELAY + 30))
    timeout -k $KILL_DELAY $DELAY pytest --timeout=10 ./tests/tools
    ret=$?

    cleanup

    [ $use_xvfb = 1 ] && pkill -9 Xvfb
    exit $ret
}


[ "$1" = "--help" -o "$1" = "-h" ] && print_help
main $@