drbotzo-idlerpg/tox.ini

67 lines
1.3 KiB
INI

[tox]
isolated_build = true
envlist = begin,py310,py311,py312,coverage,security,lint,reuse
[testenv]
allow_externals = pytest, coverage
deps =
-rrequirements/requirements-dev.txt
[testenv:build]
# require setuptools when building
deps = setuptools
[testenv:begin]
# clean up potential previous coverage runs
skip_install = true
commands = coverage erase
[testenv:py310]
# run pytest with coverage
commands =
pytest --cov-append --cov={envsitepackagesdir}/idlerpg/ --cov-branch
[testenv:py311]
# run pytest with coverage
commands =
pytest --cov-append --cov={envsitepackagesdir}/idlerpg/ --cov-branch
[testenv:py312]
# run pytest with coverage
commands =
pytest --cov-append --cov={envsitepackagesdir}/idlerpg/ --cov-branch
[testenv:coverage]
# report on coverage runs from above
skip_install = true
commands =
coverage report --fail-under=95 --show-missing
[testenv:security]
# run security checks
commands =
bandit {envsitepackagesdir}/idlerpg/ -r
safety check -r requirements/requirements-dev.txt
[testenv:lint]
# run style checks
# TODO: mypy idlerpg
commands =
flake8
- flake8 --disable-noqa --ignore= --select=E,W,F,C,D,A,G,B,I,T,M,DUO
[testenv:reuse]
# check license documentation
commands =
reuse lint
[coverage:paths]
source =
./
.tox/**/site-packages/
[coverage:run]
branch = True
omit =
**/_version.py