File: tox.ini

package info (click to toggle)
networking-mlnx 1%3A16.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 816 kB
  • sloc: python: 5,665; sh: 209; makefile: 27
file content (155 lines) | stat: -rw-r--r-- 5,286 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
[tox]
envlist = py37,py36,pep8
minversion = 2.3.2
skipsdist = True

[testenv]
basepython = python3
setenv = VIRTUAL_ENV={envdir}
         OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
         OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
         OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
         PYTHONWARNINGS=default::DeprecationWarning,ignore::DeprecationWarning:distutils,ignore::DeprecationWarning:site
passenv = TRACE_FAILONLY GENERATE_HASHES http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY TOX_ENV_SRC_MODULES
usedevelop = True
install_command =
  pip install {opts} {packages}
deps =
  -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
  -r{toxinidir}/requirements.txt
  -r{toxinidir}/test-requirements.txt
whitelist_externals = sh
commands =
  {toxinidir}/tools/pip_install_src_modules.sh "{toxinidir}"
  stestr run {posargs}

[testenv:common]
# Fake job to define environment variables shared between dsvm/non-dsvm jobs
setenv = OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:180}
commands = false

[testenv:pep8]
envdir = {toxworkdir}/shared
deps =
  {[testenv]deps}
commands=
  # If it is easier to add a check via a shell script, consider adding it in this file
  #{toxinidir}/tools/check_unit_test_structure.sh
  # Checks for coding and style guidelines
  flake8
  sh ./tools/coding-checks.sh --pylint '{posargs}'
  neutron-db-manage --subproject=networking-mlnx  check_migration
  #{[testenv:genconfig]commands}
  {[testenv:bashate]commands}
  {[testenv:bandit]commands}
whitelist_externals =
  sh
  bash

[testenv:debug]
envdir = {toxworkdir}/shared
commands = oslo_debug_helper -t networking_mlnx/tests {posargs}

[testenv:cover]
envdir = {toxworkdir}/shared
setenv =
  {[testenv]setenv}
  PYTHON=coverage run --source networking-mlnx --parallel-mode
commands =
  stestr run --no-subunit-trace {posargs}
  coverage combine
  coverage report --fail-under=82 --skip-covered
  coverage html -d cover
  coverage xml -o cover/coverage.xml

[testenv:venv]
commands = {posargs}

[testenv:docs]
envdir = {toxworkdir}/docs
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -b html doc/source doc/build/html

[flake8]
# E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent
# H405 multi line docstring summary not separated with an empty line
# N530 direct neutron imports not allowed
# TODO(amotoki) check the following new rules should be fixed or ignored
# E731 do not assign a lambda expression, use a def
# W504 line break after binary operator
ignore = E125,E126,E128,E129,E731,H405,N530,W504
# 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
show-source = true
exclude = ./.*,build,dist,doc
import-order-style = pep8

[hacking]
import_exceptions = networking_mlnx._i18n
local-check-factory = neutron_lib.hacking.checks.factory

[testenv:bashate]
envdir = {toxworkdir}/shared
commands = bash -c "find {toxinidir}             \
         -not \( -type d -name .tox\* -prune \)  \
         -not \( -type d -name .venv\* -prune \) \
         -type f                                 \
         -name \*.sh                             \
# E005 file does not begin with #! or have a .sh prefix
# E006 check for lines longer than 79 columns
# E042 local declaration hides errors
# E043 Arithmetic compound has inconsistent return semantics
         -print0 | xargs -0 bashate -v -iE006 -eE005,E042,E043"

[testenv:bandit]
envdir = {toxworkdir}/shared
# B104: Possible binding to all interfaces
# B303: blacklist calls: md5, sha1
# B311: Standard pseudo-random generators are not suitable for security/cryptographic purpose
# B604: any_other_function_with_shell_equals_true
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -r networking_mlnx -x tests -n5 -s B104,B303,B311,B604

[testenv:genconfig]
envdir = {toxworkdir}/shared
commands = {toxinidir}/tools/generate_config_file_samples.sh

# This environment can be used to quickly validate that all needed system
# packages required to successfully execute test targets are installed
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test

[testenv:lower-constraints]
setenv = OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:60}
deps =
  -c{toxinidir}/lower-constraints.txt
  -r{toxinidir}/test-requirements.txt
  -r{toxinidir}/requirements.txt

[testenv:dev]
# run locally (not in the gate) using editable mode
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
commands =
    pip install -q -e "git+https://git.openstack.org/openstack/neutron#egg=neutron"

[testenv:py3-dev]
commands =
    {[testenv:dev]commands}
    {[testenv]commands}

[testenv:pep8-dev]
deps =
    {[testenv]deps}
commands =
    {[testenv:dev]commands}
    {[testenv:pep8]commands}