Files
sphinx/tox.ini
Stephen Finucane 93589a3572 tox: Run everything but unit tests under Python 3
The demise of Python 2.7 is not far off and we intend to drop support
for it in Sphinx 2.0. As a result, there probably isn't a better time
than now to start testing with Python 3 by default. There are a couple
of advantages to this:

- flake8 is stricter under Python 3 and we don't need to ignore files
  with Python 3 syntax
- We get to dogfood Sphinx against its own documentation using Python 3
- pylint gains support for Python 3 syntax

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-06-20 09:53:29 +01:00

71 lines
1.9 KiB
INI

[tox]
minversion = 2.0
envlist = docs,flake8,mypy,coverage,py{27,34,35,36,py},du{11,12,13,14}
[testenv]
usedevelop = True
passenv =
https_proxy http_proxy no_proxy PERL PERL5LIB PYTEST_ADDOPTS EPUBCHECK_PATH
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,ignore::ImportWarning:importlib._bootstrap,ignore::ImportWarning:importlib._bootstrap_external,ignore::ImportWarning:pytest_cov.plugin,ignore::DeprecationWarning:site,ignore::DeprecationWarning:_pytest.assertion.rewrite,ignore::DeprecationWarning:_pytest.fixtures,ignore::DeprecationWarning:distutils
SPHINX_TEST_TEMPDIR = {envdir}/testbuild
commands=
pytest -Wall --durations 25 {posargs}
[testenv:flake8]
basepython = python3
description =
Run style checks.
commands =
flake8
[testenv:pylint]
basepython = python3
description =
Run source code analyzer.
deps =
pylint
{[testenv]deps}
commands =
pylint --rcfile utils/pylintrc sphinx
[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.
deps =
mypy
commands=
mypy sphinx/
[testenv:docs]
basepython = python3
description =
Build documentation.
commands =
python setup.py build_sphinx {posargs}