[tox] envlist = lint,py27,py37,pypy,pypy3,{py27,py36}-pyopensslLatest-noidna,{py27,py34,py35,py36}-{pyopenssl014,pyopensslLatest}-idna,{pypy,pypy3}-pyopensslLatest-idna,manifest,pypi-description,coverage-report [testenv] extras = tests deps = idna: idna pyopenssl014: pyOpenSSL>=0.14<0.15 pyopenssl015: pyOpenSSL>=0.15<0.16 pyopensslLatest: pyOpenSSL passenv = LDFLAGS CFLAGS CPPFLAGS setenv = PYTHONHASHSEED = 0 noidna: TRICKING_TOX = 1 commands = coverage run --parallel-mode -m pytest {posargs} py36-pyopensslLatest-idna: coverage run --parallel-mode -m pytest --doctest-modules --doctest-glob='*.rst' {posargs} [testenv:lint] basepython = python3.7 skip_install = true deps = pre-commit passenv = HOMEPATH # needed on Windows commands = pre-commit run --all-files --verbose [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html sphinx-build -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html [testenv:manifest] basepython = python3.7 deps = check-manifest commands = check-manifest [testenv:pypi-description] basepython = python3.7 skip_install = true deps = twine pip >= 18.0.0 commands = pip wheel -w {envtmpdir}/build --no-deps . twine check {envtmpdir}/build/* [testenv:coverage-report] basepython = python3.7 deps = coverage skip_install = true commands = coverage combine coverage report