flake8/tox.ini
2016-06-25 11:20:28 -05:00

138 lines
2.6 KiB
INI

[tox]
minversion=2.3.1
envlist = py27,py33,py34,py35,flake8
[testenv]
deps =
mock
pytest
commands =
py.test {posargs}
[testenv:venv]
deps =
.
commands = {posargs}
# Linters
[testenv:flake8]
skipsdist = true
skip_install = true
use_develop = false
deps =
flake8
flake8-docstrings>=0.2.7
flake8-import-order
commands =
flake8 src/flake8/ tests/ setup.py
[testenv:pylint]
basepython = python3
skipsdist = true
skip_install = true
use_develop = false
deps =
pyflakes
pylint
commands =
pylint flake8
[testenv:doc8]
basepython = python3
skipsdist = true
skip_install = true
use_develop = false
deps =
sphinx
doc8
commands =
doc8 docs/source/
[testenv:mypy]
basepython = python3
skipsdist = true
skip_install = true
use_develop = false
deps =
mypy-lang
commands =
mypy flake8
[testenv:bandit]
basepython = python3
skipsdist = true
skip_install = true
use_develop = false
deps =
bandit
commands =
bandit -r flake8/ -c .bandit.yml
[testenv:linters]
basepython = python3
skipsdist = true
skip_install = true
use_develop = false
deps =
{[testenv:flake8]deps}
{[testenv:pylint]deps}
{[testenv:doc8]deps}
{[testenv:bandit]deps}
commands =
{[testenv:flake8]commands}
{[testenv:pylint]commands}
{[testenv:doc8]commands}
{[testenv:bandit]commands}
# Documentation
[testenv:docs]
basepython = python3
deps =
-rdocs/source/requirements.txt
commands =
sphinx-build -E -W -c docs/source/ -b html docs/source/ docs/build/html
[testenv:serve-docs]
basepython = python3
skipsdist = true
skip_install = true
use_develop = false
changedir = docs/build/html
deps =
commands =
python -m http.server {posargs}
[testenv:readme]
deps =
readme_renderer
commands =
python setup.py check -r -s
[testenv:release]
skipsdist = true
basepython = python3
skip_install = true
use_develop = false
deps =
wheel
setuptools
twine >= 1.5.0
commands =
python setup.py -q sdist bdist_wheel
twine upload --skip-existing dist/*
# Flake8 Configuration
[flake8]
# Ignore some flake8-docstrings errors
# NOTE(sigmavirus24): While we're still using flake8 2.x, this ignore line
# defaults to selecting all other errors so we do not need select=E,F,W,I,D
# Once Flake8 3.0 is released and in a good state, we can use both and it will
# work well \o/
ignore = D203
# NOTE(sigmavirus24): Once we release 3.0.0 this exclude option can be specified
# across multiple lines. Presently it cannot be specified across multiple lines.
# :-(
exclude = .git,__pycache__,docs/source/conf.py,old,build,dist,tests/fixtures/
max-complexity = 10
import-order-style = google
application-import-names = flake8