# tox (https://tox.readthedocs.io/) is a tool for running tests # in multiple virtualenvs. This configuration file will run the # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox" from this directory. [tox] isolated_build = true envlist = begin,py39,py310,py311,coverage,bandit,lint,reuse [testenv] allow_externals = pytest, coverage deps = -rrequirements/requirements-dev.txt [testenv:begin] # clean up potential previous coverage runs skip_install = true commands = coverage erase [testenv:py39] # run pytest with coverage commands = pytest --cov-append --cov={envsitepackagesdir}/gp2040ce_bintools/ --cov-branch [testenv:py310] # run pytest with coverage commands = pytest --cov-append --cov={envsitepackagesdir}/gp2040ce_bintools/ --cov-branch [testenv:py311] # run pytest with coverage commands = pytest --cov-append --cov={envsitepackagesdir}/gp2040ce_bintools/ --cov-branch [testenv:coverage] # report on coverage runs from above skip_install = true commands = coverage report --fail-under=90 --show-missing [testenv:bandit] commands = bandit ./gp2040ce_bintools/ -r ; dep hell, can't install safety at the moment ; [testenv:safety] ; skip_install = true ; isolated_build = false ; commands = ; safety check -r requirements/requirements-dev.txt [testenv:lint] # run style checks commands = flake8 mypy gp2040ce_bintools - 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 **/proto_snapshot/*