1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
# SPDX-FileCopyrightText: Peter Pentchev <roam@ringlet.net>
# SPDX-License-Identifier: BSD-2-Clause
[tox]
min_version = 4.1
envlist =
ruff
format
mypy
unit-tests
isolated_build = True
[defs]
pyfiles_base =
src/confget \
unit_tests
pyfiles = {[defs]pyfiles_base} {env:TOX_DEVEL_FILES:}
pyfiles_devel =
../t/defs/tools/generate.py
[testenv:ruff]
skip_install = True
tags =
check
deps =
-r requirements/ruff.txt
commands =
ruff check --config {toxinidir}/config/ruff-all/pyproject.toml -- {[defs]pyfiles}
[testenv:mypy]
skip_install = True
tags =
check
deps =
mypy >= 1, < 2
pyparsing >= 3, < 4
pytest >= 7, < 8
setenv =
MYPYPATH={toxinidir}/src
commands =
mypy --strict {[defs]pyfiles}
[testenv:unit-tests]
tags =
tests
deps =
pyparsing >= 3, < 4
pytest >= 7, < 8
commands =
pytest -s -vv unit_tests
[testenv:generate]
skip_install = True
tags =
devel
manual
deps =
pyparsing >= 3, < 4
whitelist_externals =
sh
commands =
sh -c 'cd ../t && env PYTHONPATH={toxinidir}:{toxinidir}/src python defs/tools/generate.py'
[testenv:prove]
tags =
tests
devel
deps =
pyparsing >= 3, < 4
setenv =
CONFGET=python -m confget
MANPAGE={toxinidir}/../confget.1
TESTDIR={toxinidir}/test_data
allowlist_externals =
prove
commands =
prove ../t
# The `--config` option passed to `black` is necessary if the defs.pyfiles
# list includes files outside the current directory; then `black` tries to
# look for a configuration file in a higher-level directory and falls
# back to its default settings.
[testenv:format]
skip_install = True
tags =
check
deps =
-r requirements/ruff.txt
black >= 23, < 24
commands =
ruff check --config {toxinidir}/config/ruff-base/pyproject.toml --select=I --diff -- {[defs]pyfiles}
black --check {[defs]pyfiles_base}
black --config {toxinidir}/pyproject.toml --check {env:TOX_DEVEL_FILES:src/confget}
# See the above comment about the `black --config` invocation.
# NB: this one should probably never be placed in the default envlist
[testenv:reformat]
skip_install = True
tags =
format
manual
devel
deps =
-r requirements/ruff.txt
black >= 23, < 24
commands =
ruff check --config {toxinidir}/config/ruff-base/pyproject.toml --select=I --fix -- {[defs]pyfiles} {[defs]pyfiles_devel}
black {[defs]pyfiles}
black --config {toxinidir}/pyproject.toml {[defs]pyfiles_devel}
[testenv:reuse]
skip_install = True
tags =
check
devel
deps =
reuse >= 1, < 2
commands =
reuse lint
|