[tox]
minversion = 3.5.0
envlist =
    py{38, 39, 310, 311, 312, 313, py38, py39}
    cover, bandit, build
isolated_build = true
skip_missing_interpreters = true

[testenv]
commands =
    {envpython} -m unittest discover -s tests
deps =
    pyasn1>=0.4.6,<0.7.0

[testenv:cover]
basepython = python3
deps =
    coverage
commands = coverage erase
           coverage run --source pyasn1_modules -m unittest discover {posargs}
           coverage report --fail-under 93

[testenv:bandit]
skip_install = true
deps =
    bandit
commands =
    bandit -r pyasn1 -c .bandit.yml

[testenv:build]
skip_install = true
deps =
    build
    twine
commands =
    {envpython} -m build
    {envpython} -m twine check --strict dist/pyasn1_modules*.whl
    {envpython} -m twine check --strict dist/pyasn1_modules*.tar.gz

[gh-actions]
python =
    3.8: py38
    3.9: py39
    3.10: py310, cover, build, bandit
    3.11: py311
    3.12: py312
    3.13: py313
    pypy-3.8: pypy38
    pypy-3.9: pypy39