[tox] minversion = 4 envlist = black flake8 mypy py3 [testenv] extras = testing deps = pytest-cov commands = pytest --doctest-modules \ --rootdir {envsitepackagesdir} \ --cov={envsitepackagesdir}/swh/lister \ --cov-branch \ {envsitepackagesdir}/swh/lister \ {posargs} # --rootdir (with --import-mode from pytest.ini) are required to make tests # that depends on the test file to be a proper submodule of the swh namespace # after migration to PEP420 (implicit namespace). [testenv:black] skip_install = true deps = black==23.1.0 commands = {envpython} -m black --check swh [testenv:flake8] skip_install = true deps = flake8==5.0.4 flake8-bugbear==22.9.23 pycodestyle==2.9.1 commands = {envpython} -m flake8 [testenv:mypy] extras = testing deps = mypy==1.0.1 commands = mypy swh # build documentation outside swh-environment using the current # git HEAD of swh-docs, is executed on CI for each diff to prevent # breaking doc build [testenv:sphinx] allowlist_externals = make extras = testing deps = # fetch and install swh-docs git+https://gitlab.softwareheritage.org/swh/devel/swh-docs.git\#egg=swh.docs setenv = SWH_PACKAGE_DOC_TOX_BUILD = 1 # turn warnings into errors SPHINXOPTS = -W commands = make -I {env_dir}/share/swh-docs -C docs