swh-lister/tox.ini
2023-11-29 17:23:28 +01:00

65 lines
1.3 KiB
INI

[tox]
minversion = 4
envlist =
black
flake8
mypy
py3
[testenv]
extras =
testing
deps =
pytest-cov
commands =
pytest --doctest-modules \
--import-mode importlib \
--rootdir {envsitepackagesdir} \
--cov={envsitepackagesdir}/swh/lister \
--cov-branch \
{envsitepackagesdir}/swh/lister \
{posargs}
# --rootdir and --import-mode 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==22.10.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/ -C docs