-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathtox.ini
More file actions
135 lines (120 loc) · 3.81 KB
/
Copy pathtox.ini
File metadata and controls
135 lines (120 loc) · 3.81 KB
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
132
133
134
135
[tox]
minversion = 3.18.0
envlist = py3,pep8,docs
[testenv]
usedevelop = True
passenv = TRACE_FAILONLY
setenv =
PYTHONWARNINGS=default::DeprecationWarning
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
allowlist_externals = bash
commands =
stestr run {posargs}
[testenv:pep8]
description =
Run style checks.
deps =
pre-commit~=4.2 # MIT
pylint~=3.0 # GPLv2
{[testenv:mypy]deps}
commands =
pre-commit run --all-files --show-diff-on-failure
pylint --rcfile=.pylintrc --output-format=colorized neutron_lib
{[testenv:mypy]commands}
[testenv:mypy]
description =
Run type checks.
deps =
{[testenv]deps}
mypy
commands =
mypy --cache-dir="{envdir}/mypy_cache"
[testenv:venv]
commands = {posargs}
[testenv:cover]
deps =
{[testenv]deps}
coverage>=4.0 # Apache-2.0
setenv =
{[testenv]setenv}
PYTHON=coverage run --source neutron_lib --parallel-mode
commands =
stestr run --no-subunit-trace {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -W -b html doc/source doc/build/html
[testenv:pdf-docs]
deps = {[testenv:docs]deps}
allowlist_externals =
make
commands =
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[testenv:api-ref]
deps = {[testenv:docs]deps}
commands =
sphinx-build -W -b html api-ref/source api-ref/build/html
[testenv:linkcheck]
allowlist_externals = rm
deps = {[testenv:docs]deps}
commands =
rm -rf api-ref/build
rm -rf doc/build
sphinx-build -W -b linkcheck api-ref/source api-ref/build/linkcheck
sphinx-build -W -b linkcheck doc/source doc/build/linkcheck
[testenv:releasenotes]
deps = {[testenv:docs]deps}
commands =
sphinx-build -W -b html releasenotes/source releasenotes/build/html
[testenv:debug]
commands = oslo_debug_helper -t neutron_lib/tests/unit {posargs}
[flake8]
# H106: Don't put vim configuration in source files
# H203: Use assertIs(Not)None to check for None
# H204: Use assert(Not)Equal to check for equality
# H205: Use assert(Greater|Less)(Equal) for comparison
# H904: Delay string interpolations at logging calls
enable-extensions = H106,H203,H204,H205,H904
# W504 skipped because it conflicts with W503
# I202 skipped because it does not allow newline between 3rd party libraries
# import and neutron-lib code import, which is wrong
ignore = W504,I202
show-source = True
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools
import-order-style = pep8
[flake8:local-plugins]
extension =
# Checks for neutron and related projects
N521 = neutron_lib.hacking.checks:use_jsonutils
N529 = neutron_lib.hacking.checks:no_mutable_default_args
N530 = neutron_lib.hacking.checks:check_neutron_namespace_imports
N532 = neutron_lib.hacking.translation_checks:check_log_warn_deprecated
N534 = neutron_lib.hacking.translation_checks:check_raised_localized_exceptions
N537 = neutron_lib.hacking.translation_checks:no_translate_logs
# Checks specific to neutron-lib only
N535 = neutron_lib.hacking.checks:check_no_eventlet_imports
[testenv:bandit]
# B104: Possible binding to all interfaces
# B303: Blacklist use of insecure MD2, MD4, MD5, or SHA1 hash functions
# B311: Standard pseudo-random generators are not suitable for security/cryptographic purpose
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r neutron_lib -x tests -n5 -s B104,B303,B311
[hacking]
import_exceptions =
collections.abc
neutron_lib._i18n
neutron_lib.types
typing