beremiz

Fix Pyro work with SSL wrapper (sslpsk)

2019-03-13, Andrey Skvortsov
2befed4d6ca8
file isExecutable
Fix Pyro work with SSL wrapper (sslpsk)

Following error was shown in Beremiz console:
PYRO connecting to URI : PYROS://127.0.0.1:3001#beremiz
Exception while connecting to 'PYROS://127.0.0.1:3001#beremiz': non-zero flags not allowed in calls to recv() on
Connection failed to PYROS://127.0.0.1:3001#beremiz!

Reason is that Pyro calls socket recv() with MSGWAITALL flag, that causes ValueError exception.

https://docs.python.org/2/library/ssl.html
recv(), recv_into() (but passing a non-zero flags argument is not allowed)
#!/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 $@