6e53c264b6
Add a "mypy" tox environment which runs mypy type checking against Cinder code. Taken from Stephen Finucane's Nova work at https://review.opendev.org/#/c/676208/ Added "show_error_codes" and "pretty" options. Generates an html report in ./mypy-report/ This adds stubs for oslo.i18n, so that _() calls are annotated as intended. It may be possible to do this with less .pyi files carried along here. Change-Id: I2589d22c1f16f2e177d34730a520591743c0c1e3
25 lines
714 B
Bash
25 lines
714 B
Bash
#!/bin/sh
|
|
#
|
|
# A wrapper around mypy that allows us to specify what files to run 'mypy' type
|
|
# checks on. Intended to be invoked via tox:
|
|
#
|
|
# tox -e mypy
|
|
#
|
|
# Eventually this should go away once we have either converted everything or
|
|
# converted enough and ignored [1] the rest.
|
|
#
|
|
# [1] http://mypy.readthedocs.io/en/latest/config_file.html#per-module-flags
|
|
|
|
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
export MYPYPATH=$ROOT_DIR/../cinder/tests/stubs/
|
|
|
|
if [ $# -eq 0 ]; then
|
|
# if no arguments provided, use the standard converted lists
|
|
lines=$(grep -v '#' $ROOT_DIR/../mypy-files.txt)
|
|
python -m mypy ${lines[@]}
|
|
else
|
|
# else test what the user asked us to
|
|
python -m mypy $@
|
|
fi
|