ci/templates/tox.ini
[tox]
envlist =
clean,
check,
{% for env in tox_environments|sort %}
{{ env }},
{% endfor %}
report,
docs
[testenv]
basepython =
{docs,spell}: python2.7
{clean,check,report,extension-coveralls,coveralls,codecov}: python3.5
setenv =
PYTHONPATH={toxinidir}/tests
PYTHONUNBUFFERED=yes
passenv =
*
deps =
pytest
pytest-travis-fold
commands =
{posargs:py.test -vv --ignore=src}
[testenv:spell]
setenv =
SPELLCHECK=1
commands =
sphinx-build -b spelling docs dist/docs
skip_install = true
usedevelop = false
deps =
-r{toxinidir}/docs/requirements.txt
sphinxcontrib-spelling
pyenchant
[testenv:docs]
deps =
-r{toxinidir}/docs/requirements.txt
commands =
sphinx-build {posargs:-E} -b html docs dist/docs
sphinx-build -b linkcheck docs dist/docs
[testenv:bootstrap]
deps =
jinja2
matrix
skip_install = true
usedevelop = false
commands =
python ci/bootstrap.py
passenv =
*
[testenv:check]
deps =
docutils
check-manifest
flake8
readme-renderer
pygments
isort
skip_install = true
usedevelop = false
commands =
python setup.py check --strict --metadata --restructuredtext
check-manifest {toxinidir}
flake8 src tests setup.py
isort --verbose --check-only --diff --recursive src tests setup.py
[testenv:coveralls]
deps =
coveralls
skip_install = true
usedevelop = false
commands =
coverage combine
coverage report
coveralls []
[testenv:codecov]
deps =
codecov
skip_install = true
usedevelop = false
commands =
coverage combine
coverage report
coverage xml --ignore-errors
codecov []
[testenv:report]
deps = coverage
skip_install = true
usedevelop = false
commands =
coverage combine
coverage report
coverage html
[testenv:clean]
commands = coverage erase
skip_install = true
usedevelop = false
deps = coverage
{% for env, config in tox_environments|dictsort %}
[testenv:{{ env }}]
basepython = {env:TOXPYTHON:{{ config.python }}}
{% if config.cover or config.env_vars %}
setenv =
{[testenv]setenv}
{% endif %}
{% for var in config.env_vars %}
{{ var }}
{% endfor %}
{% if config.cover %}
WITH_COVERAGE=yes
usedevelop = true
commands =
{posargs:py.test --cov --cov-report=term-missing -vv}
{% endif %}
{% if config.cover or config.deps %}
deps =
{[testenv]deps}
{% endif %}
{% if config.cover %}
pytest-cov
{% endif %}
{% for dep in config.deps %}
{{ dep }}
{% endfor %}
{% endfor %}