[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 --append coverage report coveralls [] [testenv:codecov] deps = codecov skip_install = true usedevelop = false commands = coverage combine --append coverage report coverage xml --ignore-errors codecov [] [testenv:report] deps = coverage skip_install = true usedevelop = false commands = coverage combine --append 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 %}