summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 99e243ad6595946551c53cd039d4bb7a87075cc5 (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
[tox]
minversion = 2.0
envlist = docs,flake8,mypy,coverage,py{27,34,35,36,py},du{11,12,13,14}

[testenv]
passenv =
    https_proxy http_proxy no_proxy PERL PERL5LIB
description =
    py{27,34,35,36,py}: Run unit tests against {envname}.
    du{11,12,13,14}: Run unit tests with the given version of docutils.

# TODO(stephenfin) Replace this with the 'extras' config option when tox 2.4 is
# widely available, likely some time after the Ubuntu 18.04 release
#
# https://tox.readthedocs.io/en/latest/config.html#confval-extras=MULTI-LINE-LIST
deps =
    .[test,websupport]
    du11: docutils==0.11
    du12: docutils==0.12
    du13: docutils==0.13.1
    du14: docutils==0.14
setenv =
    PYTHONWARNINGS = all,ignore::ImportWarning:pkgutil
    SPHINX_TEST_TEMPDIR = {envdir}/testbuild
commands=
    pytest -Wall --durations 25 {posargs}

[testenv:flake8]
description =
    Run style checks.
commands =
    flake8

[testenv:pylint]
description =
    Run source code analyzer.
deps =
    pylint
    {[testenv]deps}
commands =
    pylint --rcfile utils/pylintrc sphinx

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

[testenv:mypy]
description =
    Run type checks.
deps =
    mypy
commands=
    mypy sphinx/

[testenv:docs]
description =
    Build documentation.
commands =
    python setup.py build_sphinx {posargs}