vimiv-qt_old/tox.ini

103 lines
3.0 KiB
INI

[tox]
envlist = pyqt,pyqt-piexif,pyqt-pyexiv2,lint,packaging,mypy
# Standard test suite using pytest
[testenv]
setenv =
cov: PYTEST_ADDOPTS= --cov {envsitepackagesdir}/vimiv --cov-report xml:{toxinidir}/coverage/coverage.xml --cov-report html:{toxinidir}/coverage/html
passenv = PYTHONPATH, CI, USER, HOME, XDG_*, DISPLAY
basepython = {env:PYTHON:python3}
deps =
-r{toxinidir}/misc/requirements/requirements_tests.txt
pyqt: -r{toxinidir}/misc/requirements/requirements.txt
pyqt511: PyQt5==5.11.3
pyqt512: PyQt5==5.12.3
pyqt513: PyQt5==5.13.2
pyqt514: PyQt5==5.14.2
pyqt515: -r{toxinidir}/misc/requirements/requirements.txt
cov: -r{toxinidir}/misc/requirements/requirements_cov.txt
piexif: -r{toxinidir}/misc/requirements/requirements_piexif.txt
pyexiv2: -r{toxinidir}/misc/requirements/requirements_pyexiv2.txt
commands_pre = {envpython} scripts/maybe_build_cextension.py
commands = pytest {posargs}
# Linters and checkers for the source code
[testenv:lint]
ignore_errors = true
deps =
-r{toxinidir}/misc/requirements/requirements.txt
-r{toxinidir}/misc/requirements/requirements_piexif.txt
-r{toxinidir}/misc/requirements/requirements_lint.txt
commands =
pylint vimiv scripts/pylint_checkers
{toxinidir}/scripts/lint_tests.py tests
pycodestyle vimiv tests scripts/pylint_checkers
pydocstyle vimiv scripts/pylint_checkers
allowlist_externals =
{toxinidir}/scripts/lint_tests.py
# Check the packaging for best-practices and completeness
[testenv:packaging]
ignore_errors = true
deps =
-r{toxinidir}/misc/requirements/requirements_packaging.txt
commands =
pyroma .
check-manifest
# Check for errors with type annotations
[testenv:mypy]
passenv = PYTHONPATH, CI, TERM
deps =
-r{toxinidir}/misc/requirements/requirements.txt
-r{toxinidir}/misc/requirements/requirements_piexif.txt
-r{toxinidir}/misc/requirements/requirements_mypy.txt
commands = mypy vimiv
# Create a virtual environment to run the development version
[testenv:mkvenv]
envdir = {toxinidir}/.venv
usedevelop = true
deps =
-r{toxinidir}/misc/requirements/requirements.txt
commands = {envpython} -c ""
# Create a virtual environment to build the documentation
[testenv:docs]
deps =
-r{toxinidir}/misc/requirements/requirements.txt
-r{toxinidir}/misc/requirements/requirements_piexif.txt
-r{toxinidir}/misc/requirements/requirements_docs.txt
commands =
{toxinidir}/scripts/src2rst.py
sphinx-build -b html docs {posargs}
allowlist_externals =
{toxinidir}/scripts/src2rst.py
[testenv:man]
deps = {[testenv:docs]deps}
commands =
{toxinidir}/scripts/src2rst.py
sphinx-build -b man docs misc
# Settings for pycodestyle
[pycodestyle]
max-line-length = 88
# E203: whitespace before ':' wrongly raised for slicing
# E501: line too long checked by pylint
# W503: line break before binary operator does not conform to pep8
ignore = E203,E501,W503
# Settings for check-manifest
[check-manifest]
ignore =
.*
pytest.ini
tox.ini
mypy.ini
scripts
scripts/*
tests
tests/*