summaryrefslogtreecommitdiff
path: root/tox.ini
blob: dc0e3167c8b6d06f834738106b707a95c0bc6fee (plain)
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
[tox]
minversion = 2.4.0
envlist = docs,flake8,mypy,twine,coverage,py{36,37,38,39,310},du{14,15,16,17}

[testenv]
usedevelop = True
passenv =
    https_proxy
    http_proxy
    no_proxy
    COLORTERM
    PERL
    PERL5LIB
    PYTEST_ADDOPTS
    EPUBCHECK_PATH
    TERM
description =
    py{36,37,38,39,310}: Run unit tests against {envname}.
    du{12,13,14}: Run unit tests with the given version of docutils.
deps =
    du14: docutils==0.14.*
    du15: docutils==0.15.*
    du16: docutils==0.16.*
    du17: docutils==0.17.*
extras =
    test
setenv =
    PYTHONWARNINGS = all
    PYTEST_ADDOPTS = {env:PYTEST_ADDOPTS:} --color yes
commands=
    python -X dev -X warn_default_encoding -m pytest --durations 25 {posargs}

[testenv:du-latest]
commands =
    python -m pip install "git+https://repo.or.cz/docutils.git#subdirectory=docutils"
    {[testenv]commands}

[testenv:flake8]
basepython = python3
description =
    Run style checks.
whitelist_externals =
    flake8
extras =
    lint
commands =
    flake8 {posargs}

[testenv:isort]
basepython = python3
description =
    Run import sorting checks.
whitelist_externals =
    isort
extras =
    lint
commands =
    isort --check-only --diff .

[testenv:coverage]
basepython = python3
description =
    Run code coverage checks.
setenv =
    PYTEST_ADDOPTS = --cov sphinx --cov-config "{toxinidir}/setup.cfg"
commands =
    {[testenv]commands}
    coverage report

[testenv:mypy]
basepython = python3
description =
    Run type checks.
extras =
    lint
commands=
    mypy sphinx/

[testenv:docs]
basepython = python3
description =
    Build documentation.
extras =
    docs
commands =
    python -X dev -X warn_default_encoding -m sphinx -M html ./doc ./build/sphinx -W

[testenv:docslint]
basepython = python3
description =
    Lint documentation.
extras =
    docs
commands =
    python utils/doclinter.py CHANGES CONTRIBUTING.rst README.rst doc/

[testenv:twine]
basepython = python3
description =
    Lint package.
deps =
    twine
commands =
    python setup.py release bdist_wheel sdist
    twine check dist/*

[testenv:bindep]
description =
    Install binary dependencies.
deps =
    bindep
commands =
    bindep test