mypy: Add boilerplate configuration

Add the requirement, tox job, and basic configuration.

Change-Id: I3a865255ee731a27a00e7653557099fb99096486
This commit is contained in:
Stephen Finucane 2018-01-12 15:04:02 +00:00
parent 81589565ba
commit 5a5cf72c64
5 changed files with 27 additions and 8 deletions

1
.gitignore vendored
View File

@ -35,6 +35,7 @@ pip-log.txt
# Unit test / coverage reports
cover/
.mypy_cache/
.coverage*
!.coveragerc
.tox

View File

@ -21,6 +21,7 @@ MarkupSafe==1.0
mccabe==0.2.1
mock==3.0.0
mox3==0.20.0
mypy==0.720
netaddr==0.7.18
openstackdocstheme==1.20.0
os-client-config==1.28.0

View File

@ -34,3 +34,14 @@ oslo.config.opts =
oslo.config.driver =
remote_file = oslo_config.sources._uri:URIConfigurationSourceDriver
[mypy]
show_column_numbers = true
show_error_context = true
ignore_missing_imports = true
follow_imports = skip
incremental = true
check_untyped_defs = true
warn_unused_ignores = true
[mypy-oslo_config.tests.*]
ignore_errors = true

View File

@ -9,6 +9,7 @@ testscenarios>=0.4 # Apache-2.0/BSD
stestr>=2.1.0 # Apache-2.0
testtools>=2.2.0 # MIT
oslotest>=3.2.0 # Apache-2.0
mypy>=0.720 # MIT
# oslo.log can't be a runtime dep because it would cause a circular dependency,
# but we can optionally make use of it so we want to have it installed in our

21
tox.ini
View File

@ -32,8 +32,8 @@ deps =
[testenv:pep8]
commands =
flake8
# Run security linter
bandit -r oslo_config -x tests -n5
# TODO(stephenfin): Add mypy here once it's passing
{[testenv:bandit]commands}
[testenv:cover]
setenv =
@ -56,13 +56,13 @@ commands =
rm -fr doc/build
sphinx-build -W --keep-going -b html doc/source doc/build/html {posargs}
[testenv:bandit]
commands = bandit -r oslo_config -x tests -n5
[testenv:mypy]
commands =
mypy oslo_config
[flake8]
show-source = True
enable-extensions = H203,H106
exclude = .tox,dist,doc,*.egg,build
[testenv:bandit]
commands =
bandit -r oslo_config -x tests -n5
[testenv:releasenotes]
deps = -r{toxinidir}/doc/requirements.txt
@ -71,3 +71,8 @@ commands =
[hacking]
import_exceptions = oslo_config._i18n
[flake8]
show-source = True
enable-extensions = H203,H106
exclude = .tox,dist,doc,*.egg,build