chiark / gitweb /
hooks/pre-commit: make ruby and dash tests optional
authorHans-Christoph Steiner <hans@eds.org>
Mon, 4 Dec 2017 11:10:46 +0000 (12:10 +0100)
committerHans-Christoph Steiner <hans@eds.org>
Wed, 6 Dec 2017 11:30:47 +0000 (12:30 +0100)
These are only used for checking syntax in buildserver/Vagrantfile.
Not requiring ruby makes doing CI tests on lots of distros easier
and faster. dash is an 'essential' package on Debian derivs, so
those tests will always be run somewhere.

hooks/pre-commit

index 00d777f9829d3cdd92c43fb0b5d39f87b54e94ac..2bbfe39c3a5b0df483cc03fa349ece3bd5d700b9 100755 (executable)
@@ -85,8 +85,10 @@ find_command() {
        echo :
 }
 
+DASH=$(find_command dash)
 PYFLAKES=$(find_command pyflakes)
 PEP8=$(find_command pycodestyle pep8)
+RUBY=$(find_command ruby)
 
 if [ "$PY_FILES $PY_TEST_FILES" != " " ]; then
     if ! $PYFLAKES $PY_FILES $PY_TEST_FILES; then
@@ -110,7 +112,7 @@ if [ "$PY_TEST_FILES" != "" ]; then
 fi
 
 for f in $SH_FILES; do
-       if ! dash -n $f; then
+       if ! $DASH -n $f; then
                err "dash tests failed!"
        fi
 done
@@ -122,7 +124,7 @@ for f in $BASH_FILES; do
 done
 
 for f in $RB_FILES; do
-       if ! ruby -c $f 1>/dev/null; then
+       if ! $RUBY -c $f 1>/dev/null; then
                err "ruby tests failed!"
        fi
 done