starlette/scripts/test

30 lines
1.1 KiB
Bash
Executable File

#!/bin/sh -e
export PREFIX=""
if [ -d 'venv' ] ; then
export PREFIX="venv/bin/"
fi
export VERSION_SCRIPT="import sys; print('%s.%s' % sys.version_info[0:2])"
export PYTHON_VERSION=`python -c "$VERSION_SCRIPT"`
if [ -z "$STARLETTE_TEST_DATABASE" ] ; then
echo "Variable STARLETTE_TEST_DATABASE is unset. Excluding database tests."
export IGNORE_MODULES="--ignore tests/test_database.py --cov-config tests/.ignore_database_tests"
else
echo "Variable STARLETTE_TEST_DATABASE is set"
export IGNORE_MODULES=""
fi
set -x
PYTHONPATH=. ${PREFIX}pytest --ignore venv ${IGNORE_MODULES} -W ignore::DeprecationWarning --cov=starlette --cov=tests --cov-fail-under=100 --cov-report=term-missing ${@}
${PREFIX}mypy starlette --ignore-missing-imports --disallow-untyped-defs
${PREFIX}autoflake --recursive starlette tests
if [ "${PYTHON_VERSION}" = '3.7' ]; then
echo "Skipping 'black' on 3.7. See issue https://github.com/ambv/black/issues/494"
else
${PREFIX}black starlette tests --check
fi
${PREFIX}isort --multi-line=3 --trailing-comma --force-grid-wrap=0 --combine-as --line-width 88 --recursive --check-only starlette tests