cowrie/tox.ini

87 lines
1.9 KiB
INI

[tox]
skipsdist = True
envlist = lint,docs,typing,py38,py39,py310,py311,pypy38,pypy39
deps = -r{toxinidir}/requirements.txt
skip_missing_interpreters = True
[gh-actions]
python =
3.8: py38
3.9: py39
3.10: py310, lint, docs, typing
3.11: py311
pypy-3.8: pypy38
pypy-3.9: pypy39
[testenv]
setenv =
PYTHONPATH = {toxinidir}/src
deps =
-r{toxinidir}/requirements.txt
# libvirt-python==5.5.0
commands =
python -m unittest discover src --verbose
[testenv:lint]
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/requirements-dev.txt
allowlist_externals =
yamllint
commands =
ruff {toxinidir}/src
- flake8 --ignore E203,E501,W503 --count --statistics {toxinidir}/src
- yamllint {toxinidir}
- pylint {toxinidir}/src
basepython = python3.10
[testenv:docs]
setenv =
PYTHONPATH = {toxinidir}/src
changedir = docs
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/requirements-dev.txt
commands =
sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
basepython = python3.10
[testenv:typing]
description = run static type checkers
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/requirements-dev.txt
commands =
mypy \
--cache-dir="{toxworkdir}/mypy_cache" \
--config-file="{toxinidir}/pyproject.toml" \
{tty:--pretty:} \
{posargs:src}
- mypyc \
--cache-dir="{toxworkdir}/mypyc_cache" \
--config-file="{toxinidir}/pyproject.toml" \
{tty:--pretty:} \
{posargs:src}
- pytype --keep-going --jobs auto
- pyre --noninteractive analyze
- pyright {posargs:src}
basepython = python3.10
[testenv:coverage-report]
deps = coverage
skip_install = true
commands =
coverage combine
coverage report
[coverage:run]
relative_files = True
source = src/
branch = True