--- a/tests/tools/run_python_tests.sh Fri Nov 23 11:01:20 2018 +0100
+++ b/tests/tools/run_python_tests.sh Fri Nov 23 12:13:24 2018 +0100
@@ -1,17 +1,61 @@
#!/bin/sh
-LC_ALL=ru_RU.utf-8
-export DISPLAY=:42
-Xvfb $DISPLAY -screen 0 1280x1024x24 &
-sleep 1
-ret=0
-DELAY=400
-KILL_DELAY=$(($DELAY + 30))
-timeout -k $KILL_DELAY $DELAY pytest --timeout=10 ./tests/tools
-ret=$?
+cleanup()
+{
+ find $PYTEST_DIR -name '*.pyc' -delete
+}
-pkill -9 Xvfb
-exit $ret
+
+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 $@