-
Notifications
You must be signed in to change notification settings - Fork 31
/
tox.ini
71 lines (62 loc) · 1.6 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
[tox]
envlist = py39, py310, py311, py312, py313, pypy3, lint, docs, packaging
[gh-actions]
python =
3.9: py39, lint, docs, packaging
3.10: py310
3.11: py311
3.12: py312
3.13: py313
pypy3: pypy3
[testenv]
passenv =
GITHUB_*
dependency_groups = testing
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]
dependency_groups = linting
allowlist_externals =
ruff
mypy
commands =
ruff check src/ tests/
mypy --strict src/
[testenv:docs]
dependency_groups = docs
allowlist_externals = make
changedir = {toxinidir}/docs
commands =
make clean
make html
[testenv:packaging]
basepython = python3.9
dependency_groups = packaging
allowlist_externals = rm
commands =
rm -rf dist/
check-manifest
python -m build --outdir dist/
twine check dist/*
[testenv:publish]
basepython = {[testenv:packaging]basepython}
deps =
{[testenv:packaging]deps}
allowlist_externals = {[testenv:packaging]allowlist_externals}
commands =
{[testenv:packaging]commands}
twine upload 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.9
; rm -rf hpack-test-case/
; git clone https://github.com/http2jp/hpack-test-case.git
commands = python {toxinidir}/utils/create_test_output.py {posargs}