-
-
Notifications
You must be signed in to change notification settings - Fork 310
/
tox.ini
126 lines (112 loc) · 2.32 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[tox]
minversion=2.3.1
envlist = py,flake8,linters,docs
[testenv]
deps =
pytest!=3.0.5,!=5.2.3
coverage>=6
covdefaults
commands =
coverage run -m pytest {posargs}
coverage report
# ensure 100% coverage of tests
coverage report --fail-under 100 --include tests/*
# Dogfood our current main version
[testenv:dogfood]
skip_install = true
deps =
wheel
commands =
python setup.py -qq bdist_wheel
pip install --force-reinstall -U --pre --find-links ./dist/ flake8
flake8 --version
flake8 src/flake8/ tests/ setup.py
# Linters
[testenv:flake8]
skip_install = true
deps =
flake8
flake8-bugbear
flake8-docstrings>=1.3.1
flake8-typing-imports>=1.1
pep8-naming
commands =
flake8 src/flake8/ tests/ setup.py
[testenv:pylint]
skip_install = true
deps =
pyflakes
pylint!=2.5.0
commands =
pylint src/flake8
[testenv:doc8]
skip_install = true
deps =
sphinx
doc8
commands =
doc8 docs/source/
[testenv:pre-commit]
skip_install = true
deps = pre-commit
commands =
pre-commit run --all-files --show-diff-on-failure
[testenv:bandit]
skip_install = true
deps =
bandit
commands =
bandit -r src/flake8/ -c .bandit.yml
[testenv:linters]
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]
deps =
-rdocs/source/requirements.txt
commands =
sphinx-build -E -W -c docs/source/ -b html docs/source/ docs/build/html
[testenv:serve-docs]
skip_install = true
changedir = docs/build/html
deps =
commands =
python -m http.server {posargs}
[testenv:readme]
deps =
readme_renderer
commands =
python setup.py check -r -s
# Release tooling
[testenv:build]
skip_install = true
deps =
wheel
setuptools
commands =
python setup.py -q sdist bdist_wheel
[testenv:release]
skip_install = true
deps =
{[testenv:build]deps}
twine >= 1.5.0
commands =
{[testenv:build]commands}
twine upload --skip-existing dist/*
[flake8]
extend-ignore = E203
per-file-ignores =
src/flake8/formatting/_windows_color.py: N806
tests/*: D
max-complexity = 10