[tox] envlist = py36, py37, py38, pypy3, lint, docs, packaging [gh-actions] python = 3.6: py36 3.7: py37 3.8: py38, lint, docs, packaging pypy3: pypy3 [testenv] passenv = GITHUB_* deps = pytest==6.0.1 pytest-cov==2.10.1 pytest-xdist==2.0.0 hypothesis>=5.5,<6 attrs==19.3.0 commands = pytest --cov-report=xml --cov-report=term --cov=hpack {posargs} [testenv:pypy3] # temporarily disable coverage testing on PyPy due to performance problems commands = pytest {posargs} [testenv:lint] basepython = python3.8 deps = flake8==3.8.3 commands = flake8 --max-complexity 10 src test utils [testenv:docs] basepython = python3.8 deps = sphinx==3.2.1 whitelist_externals = make changedir = {toxinidir}/docs commands = make clean make html [testenv:packaging] basepython = python3.8 deps = check-manifest==0.42 readme-renderer==26.0 twine==3.2.0 commands = check-manifest python setup.py sdist bdist_wheel twine check dist/* [testenv:bench] deps = {[testenv]deps} pytest-benchmark==3.2.3 commands = pytest {toxinidir}/bench/ --benchmark-only --benchmark-group-by=name --benchmark-autosave --benchmark-compare --benchmark-min-rounds=500000 [testenv:create_test_output] basepython = python3.7 commands = python {toxinidir}/utils/create_test_output.py {posargs}