File: tox.ini

package info (click to toggle)
networking-bagpipe 23.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,872 kB
  • sloc: python: 15,677; sh: 927; makefile: 62
file content (150 lines) | stat: -rw-r--r-- 4,934 bytes parent folder | download | duplicates (2)
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
[tox]
minversion = 3.18.0
envlist = py39,pypy,pep8

[testenv]
usedevelop = True
setenv =
   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
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
       -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}

# Common definitions shared between dsvm/non-dsvm jobs
[testenv:common]
setenv = OS_TEST_TIMEOUT=180

# Common definitions shared among dsvm jobs
[testenv:dsvm]
setenv = OS_FAIL_ON_MISSING_DEPS=1
         OS_LOG_PATH={env:OS_LOG_PATH:/opt/stack/logs}

[testenv:functional]
setenv = {[testenv]setenv}
         {[testenv:common]setenv}
         OS_TEST_PATH=./networking_bagpipe/tests/functional
         OS_LOG_PATH={env:OS_LOG_PATH:/opt/stack/logs}
deps =
  {[testenv]deps}
  -r{toxinidir}/networking_bagpipe/tests/functional/requirements.txt

[testenv:dsvm-functional]
setenv = {[testenv:functional]setenv}
         {[testenv:dsvm]setenv}
sitepackages = True
deps =
  {[testenv:functional]deps}
commands = stestr run {posargs}

[testenv:dsvm-fullstack]
setenv = {[testenv]setenv}
         {[testenv:common]setenv}
         {[testenv:dsvm]setenv}
         # workaround for DB teardown lock contention (bug/1541742)
         OS_TEST_TIMEOUT=600
         OS_TEST_PATH=./networking_bagpipe/tests/fullstack
deps =
  {[testenv:functional]deps}

[testenv:releasenotes]
deps = {[testenv:docs]deps}
commands = sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

[testenv:pep8]
deps =
  {[testenv]deps}
  pylint==3.2.0 # GPLv2
commands =
    flake8
    pylint -E --rcfile=.pylintrc --output-format=colorized {posargs:networking_bagpipe}
    neutron-db-manage --subproject networking-bagpipe --database-connection sqlite:// check_migration
    {[testenv:genconfig]commands}
allowlist_externals =
    {toxinidir}/tools/generate_config_file_samples.sh

[testenv:venv]
commands = {posargs}

[testenv:cover]
setenv =
    PYTHON = coverage run --source networking_bagpipe --parallel-mode
commands =
    stestr run {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}/doc/requirements.txt
       -r{toxinidir}/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:debug]
commands = oslo_debug_helper {posargs}

[testenv:genconfig]
commands = {toxinidir}/tools/generate_config_file_samples.sh
allowlist_externals =
   {toxinidir}/tools/generate_config_file_samples.sh

[flake8]
show-source = True
# N530 direct neutron imports not allowed
# W504 Line break occurred after a binary operator
# 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
# I202 Additional newline in a group of imports
# E731 do not assign a lambda expression, use a def
# W504 line break after binary operator
ignore = E126,E128,E731,I202,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
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,.tmp,bagpipe-bgp/*

[flake8:local-plugins]
extension =
  # Checks from neutron-lib
  N521 = neutron_lib.hacking.checks:use_jsonutils
  N524 = neutron_lib.hacking.checks:check_no_contextlib_nested
  N529 = neutron_lib.hacking.checks:no_mutable_default_args
  N532 = neutron_lib.hacking.translation_checks:check_log_warn_deprecated
  N536 = neutron_lib.hacking.checks:assert_equal_none
  N537 = neutron_lib.hacking.translation_checks:no_translate_logs

[testenv:dev]
# run locally (not in the gate) using editable mode
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
# note that order is important to ensure dependencies don't override
commands =
    pip install -q -e "git+https://opendev.org/openstack/networking-bgpvpn#egg=networking_bgpvpn"
    pip install -q -e "git+https://opendev.org/openstack/networking-sfc#egg=networking_sfc"
    pip install -q -e "git+https://opendev.org/openstack/neutron#egg=neutron"

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

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