Files
sphinx/tox.ini
James Knight 334bdceeff tox: support coverage on win32
When invoking the `coverage` on a Windows environment, the following
exception may generate:

    ...
        raise CoverageException(f"Couldn't read {fname!r} as a config file")
    coverage.exceptions.CoverageException: Couldn't read 'C:mycodesphinx/setup.cfg' as a config file
    ERROR: InvocationError for command 'C:\mycode\sphinx\.tox\coverage\Scripts\python.EXE' -X dev -m pytest --durations 25 (exited with code 1)

Enclosing with configuration file with quotes can improve the handling
of a provided path on multiple platform types.

Signed-off-by: James Knight <james.d.knight@live.com>
2021-12-05 14:24:14 -05:00

116 lines
2.3 KiB
INI

[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,ignore::ImportWarning:importlib._bootstrap_external,ignore::DeprecationWarning:site,ignore::DeprecationWarning:distutils,ignore::DeprecationWarning:pip._vendor.packaging.version
PYTEST_ADDOPTS = {env:PYTEST_ADDOPTS:} --color yes
commands=
python -X dev -m pytest --durations 25 {posargs}
[testenv:du-latest]
commands =
git clone https://repo.or.cz/docutils.git {temp_dir}/docutils
python -m pip install {temp_dir}/docutils/docutils
rm -rf {temp_dir}/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 setup.py build_sphinx {posargs}
[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