blob: 8ebbdb2ecc65b9431e6b6cc9c361fe2ec9e631ee (
plain)
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
|
[tox]
envlist = flake8, pylint, mypy, vulture, pytest, eslint, htmlhint, shellcheck
skipsdist = true
[testenv]
basepython = python3.13
sitepackages = true
changedir = /src
[testenv:flake8]
allowlist_externals = bash
commands = bash -c 'flake8 --config=testenv/linters/flake8.ini kvmd testenv/tests *.py'
deps =
flake8
flake8-quotes
-rrequirements.txt
[testenv:pylint]
allowlist_externals = bash
commands = bash -c 'pylint -j0 --rcfile=testenv/linters/pylint.ini --output-format=colorized --reports=no kvmd testenv/tests *.py'
deps =
pylint
pytest
pytest-asyncio
aiohttp-basicauth
-rrequirements.txt
[testenv:mypy]
allowlist_externals = bash
commands = bash -c 'mypy --config-file=testenv/linters/mypy.ini --cache-dir=testenv/.mypy_cache kvmd testenv/tests *.py'
deps =
mypy
-rrequirements.txt
[testenv:vulture]
allowlist_externals = bash
commands = bash -c 'vulture --ignore-names=_format_P,Plugin --ignore-decorators=@exposed_http,@exposed_ws,@pytest.fixture kvmd testenv/tests *.py testenv/linters/vulture-wl.py'
deps =
vulture
-rrequirements.txt
[testenv:pytest]
commands = py.test -vv --cov-config=testenv/linters/coverage.ini --cov-report=term-missing --cov=kvmd testenv/tests
setenv =
PYTHONPATH=/src
deps =
pytest
pytest-cov
pytest-mock
pytest-asyncio
pytest-aiohttp
aiohttp-basicauth
-rrequirements.txt
[testenv:eslint]
allowlist_externals = eslint
commands = eslint --cache-location=/tmp --config=testenv/linters/eslintrc.js --color web/share/js
[testenv:htmlhint]
allowlist_externals = htmlhint
commands = htmlhint --config=testenv/linters/htmlhint.json web/*.html web/*/*.html
[testenv:shellcheck]
allowlist_externals = bash
commands = bash -c 'shellcheck --color=always kvmd.install scripts/*'
|