File: tox.ini

package info (click to toggle)
ssh-audit 3.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,508 kB
  • sloc: python: 7,318; sh: 661; makefile: 12
file content (131 lines) | stat: -rw-r--r-- 3,354 bytes parent folder | download
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
122
123
124
125
126
127
128
129
130
131
[tox]
envlist =
	py{py3}-{test,pylint,flake8}
	py{38,39,310,311,312,313}-{test,mypy,pylint,flake8}
	cov
skip_missing_interpreters = true

[testenv]
deps =
	test: pytest
	test,cov: {[testenv:cov]deps}
	test,py{38,39,310,311,312,313}-{type,mypy}: colorama
	py{38,39,310,311,312,313}-{type,mypy}: {[testenv:mypy]deps}
	py{py3,38,39,310,311,312,313}-{lint,pylint},lint: {[testenv:pylint]deps}
	py{py3,38,39,310,311,312,313}-{lint,flake8},lint: {[testenv:flake8]deps}
setenv =
	SSHAUDIT = {toxinidir}/src
	test: COVERAGE_FILE = {toxinidir}/.coverage.{envname}
	type,mypy: MYPYPATH = {toxinidir}/test/stubs
	type,mypy: MYPYHTML = {toxinidir}/reports/html/mypy
commands =
	test: coverage run --source ssh_audit -m -p -- \
	test: pytest -v --junitxml={toxinidir}/reports/junit.{envname}.xml {posargs:test}
	test: coverage combine
	test: coverage report --show-missing
	test: coverage html -d {toxinidir}/reports/html/coverage.{envname}
	py{38,39,310,311,312,313}-{type,mypy}: {[testenv:mypy]commands}
	py{py3,38,39,310,311,312,313}-{lint,pylint},lint: {[testenv:pylint]commands}
	py{py3,38,39,310,311,312,313}-{lint,flake8},lint: {[testenv:flake8]commands}

#ignore_outcome =
#	type: true
#	lint: true

[testenv:cov]
deps =
	coverage
setenv =
	COVERAGE_FILE = {toxinidir}/.coverage
commands =
	coverage erase
	coverage combine
	coverage report --show-missing
	coverage xml -i -o {toxinidir}/reports/coverage.xml
	coverage html -d {toxinidir}/reports/html/coverage

[testenv:mypy]
deps =
	colorama
	lxml
	mypy
commands =
	mypy \
	    --strict \
		--show-error-context \
		--html-report {env:MYPYHTML}.py3.{envname} \
		{posargs:{env:SSHAUDIT}}

[testenv:pylint]
deps =
	mccabe
	pylint
commands =
	pylint \
		--rcfile tox.ini \
		--load-plugins=pylint.extensions.bad_builtin \
		--load-plugins=pylint.extensions.check_elif \
		--load-plugins=pylint.extensions.mccabe \
		{posargs:{env:SSHAUDIT}}

[testenv:flake8]
deps =
	flake8
commands =
	flake8 {posargs:{env:SSHAUDIT} {toxinidir}/setup.py {toxinidir}/test {toxinidir}/ssh-audit.py}  --statistics

[pylint]
reports = no
#output-format = colorized
indent-string = "    "
disable =
        broad-except,
        duplicate-code,
        fixme,
        invalid-name,
        line-too-long,
        missing-docstring,
        no-else-raise,
        no-else-return,
        super-with-arguments,   # Can be re-factored, at some point.
        too-complex,
        too-many-arguments,
        too-many-boolean-expressions,
        too-many-branches,
        too-many-instance-attributes,
        too-many-lines,
        too-many-locals,
        too-many-nested-blocks,
        too-many-positional-arguments,
        too-many-return-statements,
        too-many-statements,
        consider-using-f-string
max-complexity = 15
max-args = 8
max-locals = 20
max-returns = 6
max-branches = 15
max-statements = 60
max-parents = 7
max-attributes = 8
min-public-methods = 1
max-public-methods = 20
max-bool-expr = 5
max-nested-blocks = 6
max-line-length = 80
ignore-long-lines = ^\s*(#\s+type:\s+.*|[A-Z0-9_]+\s+=\s+.*|('.*':\s+)?\[.*\],?|assert\s+.*)$
max-module-lines = 2500

[flake8]
# E241 = multiple spaces after operator; should be kept for tabular data
# E303 = too many blank lines
# E501 = line too long
ignore = E241, E303, E501

[pytest]
junit_family = xunit1

[coverage:paths]
source =
    src
    */site-packages