Source code

Revision control

Copy as Markdown

Other Tools

[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}