[tox] envlist = py36, py37, py38, py39, py310, pypy3, lint, docs, packaging [gh-actions] python = 3.6: py36 3.7: py37 3.8: py38 3.9: py39, lint, docs, packaging, h2spec 3.10: py310 pypy3: pypy3 [testenv] passenv = GITHUB_* deps = pytest>=6.0.1,<7 pytest-cov>=2.10.1,<3 pytest-xdist>=2.0.0,<3 hypothesis>=5.5,<7 commands = pytest --cov-report=xml --cov-report=term --cov=h2 {posargs} [testenv:pypy3] # temporarily disable coverage testing on PyPy due to performance problems commands = pytest {posargs} [testenv:lint] deps = flake8>=3.9.1,<4 commands = flake8 src/ test/ [testenv:docs] deps = sphinx>=4.0.2,<5 whitelist_externals = make changedir = {toxinidir}/docs commands = make clean make html [testenv:packaging] basepython = python3.9 deps = check-manifest==0.46 readme-renderer==29.0 twine>=3.4.1,<4 whitelist_externals = rm commands = rm -rf dist/ check-manifest python setup.py sdist bdist_wheel twine check dist/* [testenv:publish] basepython = {[testenv:packaging]basepython} deps = {[testenv:packaging]deps} whitelist_externals = {[testenv:packaging]whitelist_externals} commands = {[testenv:packaging]commands} twine upload dist/* [testenv:graphs] basepython = python3.8 deps = graphviz==0.14.1 commands = python visualizer/visualize.py -i docs/source/_static [testenv:h2spec] basepython = python3.8 deps = twisted[tls]==20.3.0 whitelist_externals = {toxinidir}/test/h2spectest.sh commands = {toxinidir}/test/h2spectest.sh