[tox] envlist = py27,py27-pure,py35,py35-pure,py36,py37,py38,py38-cext,pypy,pypy3,coverage,docs # NB: if you add new environments, please also add them to depends in # testenv:coverage so that parallel runs (tox -p auto) will work correctly [testenv] # ``usedevelop`` is required otherwise unittest complains that it # discovers a file in src/... but imports it from .tox/.../ # ``skip_install`` also basically works, but that causes the ``extras`` # not to be installed (though ``deps`` still are), and doesn't # rebuild C extensions. usedevelop = true commands = coverage run -p -m unittest discover -s src extras = test [testenv:py27-pure] setenv = PURE_PYTHON=1 [testenv:py35-pure] setenv = PURE_PYTHON=1 [testenv:py38-cext] # Require the C extension setenv = PURE_PYTHON=0 [testenv:py] commands = python --version {[testenv]commands} [testenv:coverage] # The -i/--ignore arg is necessary; we get # No source for code: '//.tox/pypy/site-packages/zope/interface/__init__.py' # without it. commands = coverage combine coverage report -i coverage html -i coverage xml -i depends = py27,py27-pure,py35,py35-pure,py36,py37,py38,py38-cext,pypy,pypy3 parallel_show_output = true [testenv:docs] basepython = python3 commands = sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest deps = Sphinx repoze.sphinx.autointerface