diff --git a/tox.ini b/tox.ini index 76b8d51f20..294b3e9793 100644 --- a/tox.ini +++ b/tox.ini @@ -10,10 +10,11 @@ # * Include isort # * Do not use tmpfs for a temporary directory as it does not support user xattrs # * Legacy tests (inherited from integration tests) include coverage +# * Pylint included [tox] env_list = # Environments to run when called with no parameters. - lint-{black,ruff,isort,mypy,pyright,shellcheck,codespell,yaml} + lint-{black,ruff,isort,mypy,pylint,pyright,shellcheck,codespell,yaml} test-py38 test-legacy-py38 minversion = 3.8 @@ -117,6 +118,19 @@ commands = codespell: codespell --toml {tox_root}/pyproject.toml {posargs} yaml: yamllint {posargs} . +[testenv:lint-pylint] +description = Lint with pylint +base = testenv +labels = lint +deps = -r{tox_root}/requirements-devel.txt +package = editable +# This runs all commands even if the first fails. +# Not to be confused with ignore_outcome, which turns errors into warnings. +ignore_errors = true +commands = + pylint -j 0 snapcraft + pylint -j 0 tests --disable=invalid-name,missing-module-docstring,missing-function-docstring,duplicate-code,protected-access,unspecified-encoding,too-many-public-methods,too-many-arguments,too-many-lines,redefined-outer-name + [testenv:lint-{mypy,pyright}] description = Static type checking base = testenv