diff options
Diffstat (limited to 'run_tests.sh')
-rwxr-xr-x | run_tests.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/run_tests.sh b/run_tests.sh new file mode 100755 index 0000000..9606844 --- /dev/null +++ b/run_tests.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# Syntax: ./run_tests -- Run tests in parallel across CPUs +# ./run_tests <nb_cores> -- Run tests in parallel across this number of CPUs +# ./run_tests 0 -- Only runs the pylint tests +export PYTHONIOENCODING=utf-8 +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +FAILED=0 + +# Running pytest +if [ "${1:-auto}" != "0" ]; then + pytest -v --forked -n "${1:-auto}" || FAILED=1 +fi + +# Running pylint +find diplomacy -name "*.py" ! -name 'zzz_*.py' ! -name '_*.py' -exec pylint '{}' + && \ + +# Running eslint +if [ -f "$DIR/diplomacy/web/node_modules/.bin/eslint" ]; then + if [ -z ${NVM_DIR+x} ]; then + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + fi + cd $DIR/diplomacy/web/ + node_modules/.bin/eslint --ext js,jsx . || FAILED=1 + npm run build || FAILED=1 + cd - +else + echo "Skipping ESLint. Make sure NVM and NodeJS are installed first." +fi + +# Exiting +if [[ "$FAILED" -eq 1 ]]; then + echo "*** TESTS FAILED ***" + exit 1 +else + echo "All tests passed." + exit 0 +fi |