tests/tools/run_python_tests.sh
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Sat, 09 Jun 2018 17:13:16 +0300
changeset 2181 52630996e51b
parent 1825 bcb50e736a46
child 2435 925adaa2cd5c
permissions -rwxr-xr-x
Add command line argument to run linter only on changed files

./tests/tools/check_source.sh --only-changes

It's recommended to run check_source.sh automatically on each commit,
so the rules are always enforced.
Even better is to use docker for that, so the versions of pep8 and
pylint are the same as on pipeline server.

To do this couple of lines should be added into repository's hgrc file.

[----------- cut from .hg/hgrc------------------]

[hooks]
precommit.linter = ./tests/tools/check_source.sh --only-changes
# precommit.linter = docker run -it --volume=$PWD:/beremiz --workdir="/beremiz" --volume=$PWD/../CanFestival-3:/CanFestival-3 --memory=1g --entrypoint=/beremiz/tests/tools/check_source.sh skvorl/beremiz-requirements --only-changes

[-----------------------------------------------]
#!/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=$?

pkill -9 Xvfb

exit $ret