mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-07 21:44:18 +00:00
Mock 2.0 is using pbr which is hostile to environments without network access. It's not required on Python 3.5+ so I made it possible to use `unittest.mock` on this version. Updated tox.ini to reflect this. Tested with 2.7.11, 3.3.6, 3.4.5, and 3.5.2 on macOS 10.12.1 with tox and pyenv.
165 lines
3.1 KiB
INI
165 lines
3.1 KiB
INI
[tox]
|
|
minversion=2.3.1
|
|
envlist = py27,py33,py34,py35,flake8,linters,docs
|
|
|
|
[testenv]
|
|
deps =
|
|
pytest
|
|
coverage
|
|
mock>=2.0.0
|
|
commands =
|
|
coverage run --parallel-mode -m pytest {posargs}
|
|
coverage combine
|
|
coverage report -m
|
|
|
|
[testenv:py35]
|
|
# No mock needed on 3.5+
|
|
deps =
|
|
pytest
|
|
coverage
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
.
|
|
commands = {posargs}
|
|
|
|
# Dogfood our current mastera version
|
|
[testenv:dogfood]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
wheel
|
|
commands =
|
|
python setup.py -qq bdist_wheel
|
|
pip install --pre --find-links ./dist/ flake8
|
|
flake8 --version
|
|
flake8 src/flake8/ tests/ setup.py
|
|
|
|
# Linters
|
|
[testenv:flake8]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
flake8
|
|
flake8-docstrings>=0.2.7
|
|
flake8-import-order>=0.9
|
|
commands =
|
|
flake8 src/flake8/ tests/ setup.py
|
|
|
|
[testenv:pylint]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
pyflakes
|
|
pylint
|
|
commands =
|
|
pylint src/flake8
|
|
|
|
[testenv:doc8]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
sphinx
|
|
doc8
|
|
commands =
|
|
doc8 docs/source/
|
|
|
|
[testenv:mypy]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
mypy-lang
|
|
commands =
|
|
mypy flake8
|
|
|
|
[testenv:bandit]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
bandit
|
|
commands =
|
|
bandit -r src/flake8/ -c .bandit.yml
|
|
|
|
[testenv:linters]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
{[testenv:flake8]deps}
|
|
{[testenv:pylint]deps}
|
|
{[testenv:doc8]deps}
|
|
{[testenv:readme]deps}
|
|
{[testenv:bandit]deps}
|
|
commands =
|
|
{[testenv:flake8]commands}
|
|
{[testenv:pylint]commands}
|
|
{[testenv:doc8]commands}
|
|
{[testenv:readme]commands}
|
|
{[testenv:bandit]commands}
|
|
|
|
# Documentation
|
|
[testenv:docs]
|
|
basepython = python3.5
|
|
deps =
|
|
-rdocs/source/requirements.txt
|
|
commands =
|
|
sphinx-build -E -W -c docs/source/ -b html docs/source/ docs/build/html
|
|
sphinx-build -E -W -c docs/source/ -b man docs/source/ docs/build/man
|
|
|
|
[testenv:serve-docs]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
changedir = docs/build/html
|
|
deps =
|
|
commands =
|
|
python -m http.server {posargs}
|
|
|
|
[testenv:readme]
|
|
basepython = python3.5
|
|
deps =
|
|
readme_renderer
|
|
commands =
|
|
python setup.py check -r -s
|
|
|
|
# Release tooling
|
|
[testenv:build]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
wheel
|
|
setuptools
|
|
commands =
|
|
python setup.py -q sdist bdist_wheel
|
|
|
|
[testenv:release]
|
|
basepython = python3.5
|
|
skip_install = true
|
|
deps =
|
|
{[testenv:build]deps}
|
|
twine >= 1.5.0
|
|
commands =
|
|
{[testenv:build]commands}
|
|
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
|
|
exclude =
|
|
.tox,
|
|
.git,
|
|
__pycache__,
|
|
docs/source/conf.py,
|
|
build,
|
|
dist,
|
|
tests/fixtures/*,
|
|
*.pyc,
|
|
*.egg-info,
|
|
.cache,
|
|
.eggs
|
|
max-complexity = 10
|
|
import-order-style = google
|
|
application-import-names = flake8
|