[pytest] addopts = -ra testpaths = tests filterwarnings = once::Warning ignore:::pympler[.*] [gh-actions] python = 3.7: py37, docs 3.8: py38, typing 3.9: py39 3.10: py310 3.11: py311 pypy-3.8: pypy3 pypy-3.9: pypy3 [tox] envlist = lint typing py{37,38,39,310,311,py3}-{crypto,nocrypto} docs pypi-description coverage-report isolated_build = True [testenv] # Prevent random setuptools/pip breakages like # https://github.com/pypa/setuptools/issues/1042 from breaking our builds. setenv = VIRTUALENV_NO_DOWNLOAD=1 extras = tests crypto: crypto commands = {envpython} -b -m coverage run -m pytest {posargs} [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -n -T -W -b html -d {envtmpdir}/doctrees docs docs/_build/html sphinx-build -n -T -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html python -m doctest README.rst [testenv:lint] basepython = python3.8 extras = dev passenv = HOMEPATH # needed on Windows commands = pre-commit run --all-files [testenv:pypi-description] basepython = python3.8 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.8 skip_install = true deps = coverage[toml]==5.0.4 commands = coverage combine coverage report