mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-29 18:46:52 +00:00
Previously, all testing was done from the directory in which the configuration file lived, so this bug went unnoticed. However, if you run Flake8 against its own source from a directory above, you would notice that the patterns in the exclude config value in tox.ini were ignored. This is because we (like any reasonable person) are using relative paths. The path is relative, however, to the directory in which the configuration file was located. So we keep track of which directory that is and use that to normalize the paths in the config file. Yes, there is an unrelated change to our tox.ini in this commit as well. ;-) Closes #194
155 lines
2.8 KiB
INI
155 lines
2.8 KiB
INI
[tox]
|
|
minversion=2.3.1
|
|
envlist = py27,py33,py34,py35,flake8,linters,docs
|
|
|
|
[testenv]
|
|
deps =
|
|
mock
|
|
pytest
|
|
commands =
|
|
py.test {posargs}
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
.
|
|
commands = {posargs}
|
|
|
|
# Dogfood our current mastera version
|
|
[testenv:dogfood]
|
|
basepython = python3
|
|
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
|
|
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
|
|
skip_install = true
|
|
deps =
|
|
pyflakes
|
|
pylint
|
|
commands =
|
|
pylint src/flake8
|
|
|
|
[testenv:doc8]
|
|
basepython = python3
|
|
skip_install = true
|
|
deps =
|
|
sphinx
|
|
doc8
|
|
commands =
|
|
doc8 docs/source/
|
|
|
|
[testenv:mypy]
|
|
basepython = python3
|
|
skip_install = true
|
|
deps =
|
|
mypy-lang
|
|
commands =
|
|
mypy flake8
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
skip_install = true
|
|
deps =
|
|
bandit
|
|
commands =
|
|
bandit -r src/flake8/ -c .bandit.yml
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
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
|
|
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
|
|
skip_install = true
|
|
changedir = docs/build/html
|
|
deps =
|
|
commands =
|
|
python -m http.server {posargs}
|
|
|
|
[testenv:readme]
|
|
basepython = python3
|
|
deps =
|
|
readme_renderer
|
|
commands =
|
|
python setup.py check -r -s
|
|
|
|
# Release tooling
|
|
[testenv:build]
|
|
basepython = python3
|
|
skip_install = true
|
|
deps =
|
|
wheel
|
|
setuptools
|
|
commands =
|
|
python setup.py -q sdist bdist_wheel
|
|
|
|
[testenv:release]
|
|
basepython = python3
|
|
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
|