1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
19 envlist = black, cover, flake8, pylint, safety
22 toxworkdir = /tmp/.tox
23 setenv = XDG_CACHE_HOME=/tmp/.cache
27 basepython = python3.10
28 setenv = VIRTUAL_ENV={envdir}
29 PYTHONDONTWRITEBYTECODE = 1
30 deps = -r{toxinidir}/requirements.txt
31 parallel_show_output = true
34 #######################################################################################
35 [testenv:release_notes]
38 allowlist_externals = bash
40 reno new
{posargs
:new_feature
}
41 bash
-c
"sed -i -e '1 e head -16 tox.ini' releasenotes/notes/{posargs:new_feature}*.yaml"
44 #######################################################################################
49 black
--check
--diff NG
-RO
50 black
--check
--diff RO
-plugin
51 black
--check
--diff RO
-SDN
-arista_cloudvision
52 black
--check
--diff RO
-SDN
-dpb
53 black
--check
--diff RO
-SDN
-dynpac
54 black
--check
--diff RO
-SDN
-floodlight_openflow
55 black
--check
--diff RO
-SDN
-ietfl2vpn
56 black
--check
--diff RO
-SDN
-juniper_contrail
57 black
--check
--diff RO
-SDN
-odl_openflow
58 black
--check
--diff RO
-SDN
-onos_openflow
59 black
--check
--diff RO
-SDN
-onos_vpls
60 black
--check
--diff RO
-SDN
-tapi
61 black
--check
--diff RO
-VIM
-aws
62 black
--check
--diff RO
-VIM
-azure
63 black
--check
--diff RO
-VIM
-openstack
64 black
--check
--diff RO
-VIM
-openvim
65 black
--check
--diff RO
-VIM
-vmware
66 black
--check
--diff RO
-VIM
-gcp
67 black
--check
--diff integration
-tests
70 #######################################################################################
72 deps = {[testenv]deps}
73 -r
{toxinidir
}/requirements
-dev.txt
74 -r
{toxinidir
}/requirements
-test.txt
76 allowlist_externals = sh
78 sh
-c 'rm
-f nosetests.xml'
81 nose2
-C
--coverage NG
-RO
/osm_ng_ro
-s NG
-RO
/osm_ng_ro
82 sh
-c 'mv .coverage .coverage_ng_ro'
84 # nose2 -C --coverage RO-plugin/osm_ro_plugin -s RO-plugin/osm_ro_plugin
85 # sh -c 'mv .coverage .coverage_ro_plugin'
86 # RO-SDN-arista_cloudvision
87 # nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision -s RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
88 # sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
90 # nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb -s RO-SDN-dpb/osm_rosdn_dpb
91 # sh -c 'mv .coverage .coverage_rosdn_dpb'
93 # nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac -s RO-SDN-dynpac/osm_rosdn_dynpac
94 # sh -c 'mv .coverage .coverage_rosdn_dynpac'
95 # RO-SDN-floodlight_openflow
96 # nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof -s RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
97 # sh -c 'mv .coverage .coverage_rosdn_floodlightof'
99 # nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn -s RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
100 # sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
101 # RO-SDN-juniper_contrail
102 nose2
-C
--coverage RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
-s RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
103 sh
-c 'mv .coverage .coverage_rosdn_juniper_contrail'
104 # RO-SDN-odl_openflow
105 # nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof -s RO-SDN-odl_openflow/osm_rosdn_odlof
106 # sh -c 'mv .coverage .coverage_rosdn_odlof'
107 # RO-SDN-onos_openflow
108 # nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof -s RO-SDN-onos_openflow/osm_rosdn_onosof
109 # sh -c 'mv .coverage .coverage_rosdn_onosof'
111 # nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls -s RO-SDN-onos_vpls/osm_rosdn_onos_vpls
112 # sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
114 nose2
-C
--coverage RO
-SDN
-tapi
/osm_rosdn_tapi
-s RO
-SDN
-tapi
/osm_rosdn_tapi
115 sh
-c 'mv .coverage .coverage_rosdn_tapi'
117 # nose2 -C --coverage RO-VIM-aws/osm_rovim_aws -s RO-VIM-aws/osm_rovim_aws
118 # sh -c 'mv .coverage .coverage_rovim_aws'
120 # nose2 -C --coverage RO-VIM-azure/osm_rovim_azure -s RO-VIM-azure/osm_rovim_azure
121 # sh -c 'mv .coverage .coverage_rovim_azure'
123 nose2
-C
--coverage RO
-VIM
-openstack
/osm_rovim_openstack
-s RO
-VIM
-openstack
/osm_rovim_openstack
124 sh
-c 'mv .coverage .coverage_rovim_openstack'
126 # nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim -s RO-VIM-openvim/osm_rovim_openvim
127 # sh -c 'mv .coverage .coverage_rovim_openvim'
129 # nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
130 # sh -c 'mv .coverage .coverage_rovim_vmware'
132 # nose2 -C --coverage RO-VIM-gcp/osm_rovim_gcp -s RO-VIM-gcp/osm_rovim_gcp
133 # sh -c 'mv .coverage .coverage_rovim_gcp'
134 # Combine results and generate reports
135 # coverage combine .coverage_ng_ro .coverage_ro_plugin .coverage_rosdn_arista_cloudvision .coverage_rosdn_dpb .coverage_rosdn_dynpac .coverage_rosdn_floodlightof .coverage_rosdn_ietfl2vpn .coverage_rosdn_juniper_contrail .coverage_rosdn_odlof .coverage_rosdn_onos_vpls .coverage_rosdn_onosof .coverage_rosdn_tapi .coverage_rovim_aws .coverage_rovim_azure .coverage_rovim_openvim .coverage_rovim_gcp # .coverage_rovim_openstack .coverage_rovim_vmware
136 coverage combine .coverage_ng_ro .coverage_rovim_openstack .coverage_rosdn_juniper_contrail
137 coverage report --omit='*tests*'
138 coverage html -d ./cover --omit='*tests*'
139 coverage xml -o coverage.xml --omit='*tests*'
142 #######################################################################################
149 flake8 NG
-RO
/osm_ng_ro
/ NG
-RO
/setup.py
150 flake8 RO
-plugin
/osm_ro_plugin
/ RO
-plugin
/setup.py
151 flake8 RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
/ RO
-SDN
-arista_cloudvision
/setup.py
152 flake8 RO
-SDN
-dpb
/osm_rosdn_dpb
/ RO
-SDN
-dpb
/setup.py
153 flake8 RO
-SDN
-dynpac
/osm_rosdn_dynpac
/ RO
-SDN
-dynpac
/setup.py
154 flake8 RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
/ RO
-SDN
-floodlight_openflow
/setup.py
155 flake8 RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
/ RO
-SDN
-ietfl2vpn
/setup.py
156 flake8 RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
/ RO
-SDN
-juniper_contrail
/setup.py
157 flake8 RO
-SDN
-odl_openflow
/osm_rosdn_odlof
/ RO
-SDN
-odl_openflow
/setup.py
158 flake8 RO
-SDN
-onos_openflow
/osm_rosdn_onosof
/ RO
-SDN
-onos_openflow
/setup.py
159 flake8 RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
/ RO
-SDN
-onos_vpls
/setup.py
160 flake8 RO
-SDN
-tapi
/osm_rosdn_tapi
/ RO
-SDN
-tapi
/setup.py
161 flake8 RO
-VIM
-aws
/osm_rovim_aws
/ RO
-VIM
-aws
/setup.py
162 flake8 RO
-VIM
-azure
/osm_rovim_azure
/ RO
-VIM
-azure
/setup.py
163 flake8 RO
-VIM
-openstack
/osm_rovim_openstack
/ RO
-VIM
-openstack
/setup.py
164 flake8 RO
-VIM
-openvim
/osm_rovim_openvim
/ RO
-VIM
-openvim
/setup.py
165 flake8 RO
-VIM
-vmware
/osm_rovim_vmware
/vimconn_vmware.py RO
-VIM
-vmware
/osm_rovim_vmware
/tests
/test_vimconn_vmware.py RO
-VIM
-vmware
/setup.py
166 flake8 RO
-VIM
-gcp
/osm_rovim_gcp
/ RO
-VIM
-gcp
/setup.py
167 flake8 integration
-tests
/
170 #######################################################################################
172 deps = {[testenv]deps}
173 -r
{toxinidir
}/requirements
-dev.txt
174 -r
{toxinidir
}/requirements
-test.txt
178 pylint -E NG-RO/osm_ng_ro --disable=E1101
179 pylint -E RO-plugin/osm_ro_plugin --disable=E1101
180 pylint -E RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision --disable=all
181 pylint
-E RO
-SDN
-dpb
/osm_rosdn_dpb
182 pylint -E RO-SDN-dynpac/osm_rosdn_dynpac --disable=E1101
183 pylint
-E RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
184 pylint -E RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn --disable=E1101
185 pylint
-E RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
186 pylint
-E RO
-SDN
-odl_openflow
/osm_rosdn_odlof
187 pylint
-E RO
-SDN
-onos_openflow
/osm_rosdn_onosof
188 pylint -E RO-SDN-onos_vpls/osm_rosdn_onos_vpls --disable=E1101
189 pylint
-E RO
-SDN
-tapi
/osm_rosdn_tapi
190 pylint
-E RO
-VIM
-aws
/osm_rovim_aws
191 pylint -E RO-VIM-azure/osm_rovim_azure --disable=all
192 pylint -E RO-VIM-openstack/osm_rovim_openstack --disable=E1101
193 pylint -E RO-VIM-openvim/osm_rovim_openvim --disable=all
194 pylint -E RO-VIM-vmware/osm_rovim_vmware --disable=all
195 pylint -E RO-VIM-gcp/osm_rovim_gcp --disable=E1101
198 #######################################################################################
203 deps = {[testenv]deps}
207 - safety check
--full
-report
210 #######################################################################################
211 [testenv:pip-compile]
212 deps = pip-tools==6.13.0
214 allowlist_externals = bash
217 - bash
-c
"for file in requirements*.in ; do \
219 if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
220 pip-compile --resolver=backtracking -rU --no-header $UNSAFE $file ;\
221 out=`echo $file | sed 's/.in/.txt/'` ; \
222 sed -i -e '1 e head -16 tox.ini' $out ;\
224 - bash
-c
"sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"
227 #######################################################################################
229 deps = {[testenv]deps}
230 -r
{toxinidir
}/requirements
-dist.txt
232 allowlist_externals = sh
233 changedir = {toxinidir}/NG-RO
235 sh
-c 'rm
-rf osm_ng_ro
/requirements.txt deb_dist dist osm_ng_ro.egg
-info osm_ng_ro
*.tar.gz'
236 sh
-c 'cp ..
/requirements.txt osm_ng_ro
/requirements.txt'
237 python3 setup.py --command-packages=stdeb.command sdist_dsc
238 sh
-c 'cd deb_dist
/osm
-ng
-ro
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
241 #######################################################################################
242 [testenv:dist_ro_plugin]
243 deps = {[testenv]deps}
244 -r
{toxinidir
}/requirements
-dist.txt
246 allowlist_externals = sh
247 changedir = {toxinidir}/RO-plugin
249 sh
-c 'rm
-rf deb_dist dist osm_ro_plugin.egg
-info osm_ro_plugin
*.tar.gz'
250 python3 setup.py --command-packages=stdeb.command sdist_dsc
251 sh
-c 'cd deb_dist
/osm
-ro
-plugin
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
254 #######################################################################################
255 [testenv:dist_ro_sdn_arista_cloudvision]
256 deps = {[testenv]deps}
257 -r
{toxinidir
}/requirements
-dist.txt
259 allowlist_externals = sh
260 changedir = {toxinidir}/RO-SDN-arista_cloudvision
262 sh
-c 'rm
-rf deb_dist dist osm_rosdn_arista_cloudvision.egg
-info osm_rosdn_arista_cloudvision
*.tar.gz'
263 python3 setup.py --command-packages=stdeb.command sdist_dsc
264 sh
-c 'cd deb_dist
/osm
-rosdn
-arista
-cloudvision
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
267 #######################################################################################
268 [testenv:dist_ro_sdn_dpb]
269 deps = {[testenv]deps}
270 -r
{toxinidir
}/requirements
-dist.txt
272 allowlist_externals = sh
273 changedir = {toxinidir}/RO-SDN-dpb
275 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dpb.egg
-info osm_rosdn_dpb
*.tar.gz'
276 python3 setup.py --command-packages=stdeb.command sdist_dsc
277 sh
-c 'cd deb_dist
/osm
-rosdn
-dpb
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
280 #######################################################################################
281 [testenv:dist_ro_sdn_dynpac]
282 deps = {[testenv]deps}
283 -r
{toxinidir
}/requirements
-dist.txt
285 allowlist_externals = sh
286 changedir = {toxinidir}/RO-SDN-dynpac
288 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dynpac.egg
-info osm_rosdn_dynpac
*.tar.gz'
289 python3 setup.py --command-packages=stdeb.command sdist_dsc
290 sh
-c 'cd deb_dist
/osm
-rosdn
-dynpac
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
293 #######################################################################################
294 [testenv:dist_ro_sdn_floodlight_of]
295 deps = {[testenv]deps}
296 -r
{toxinidir
}/requirements
-dist.txt
298 allowlist_externals = sh
299 changedir = {toxinidir}/RO-SDN-floodlight_openflow
301 sh
-c 'rm
-rf deb_dist dist osm_rosdn_floodlightof.egg
-info osm_rosdn_floodlightof
*.tar.gz'
302 python3 setup.py --command-packages=stdeb.command sdist_dsc
303 sh
-c 'cd deb_dist
/osm
-rosdn
-floodlightof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
306 #######################################################################################
307 [testenv:dist_ro_sdn_ietfl2vpn]
308 deps = {[testenv]deps}
309 -r
{toxinidir
}/requirements
-dist.txt
311 allowlist_externals = sh
312 changedir = {toxinidir}/RO-SDN-ietfl2vpn
314 sh
-c 'rm
-rf deb_dist dist osm_rosdn_ietfl2vpn.egg
-info osm_rosdn_ietfl2vpn
*.tar.gz'
315 python3 setup.py --command-packages=stdeb.command sdist_dsc
316 sh
-c 'cd deb_dist
/osm
-rosdn
-ietfl2vpn
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
319 #######################################################################################
320 [testenv:dist_ro_sdn_juniper_contrail]
321 deps = {[testenv]deps}
322 -r
{toxinidir
}/requirements
-dist.txt
324 allowlist_externals = sh
325 changedir = {toxinidir}/RO-SDN-juniper_contrail
327 sh
-c 'rm
-rf deb_dist dist osm_rosdn_juniper_contrail.egg
-info osm_rosdn_juniper_contrail
*.tar.gz'
328 python3 setup.py --command-packages=stdeb.command sdist_dsc
329 sh
-c 'cd deb_dist
/osm
-rosdn
-juniper
-contrail
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
332 #######################################################################################
333 [testenv:dist_ro_sdn_odl_of]
334 deps = {[testenv]deps}
335 -r
{toxinidir
}/requirements
-dist.txt
337 allowlist_externals = sh
338 changedir = {toxinidir}/RO-SDN-odl_openflow
340 sh
-c 'rm
-rf deb_dist dist osm_rosdn_odlof.egg
-info osm_rosdn_odlof
*.tar.gz'
341 python3 setup.py --command-packages=stdeb.command sdist_dsc
342 sh
-c 'cd deb_dist
/osm
-rosdn
-odlof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
345 #######################################################################################
346 [testenv:dist_ro_sdn_onos_of]
347 deps = {[testenv]deps}
348 -r
{toxinidir
}/requirements
-dist.txt
350 allowlist_externals = sh
351 changedir = {toxinidir}/RO-SDN-onos_openflow
353 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onosof.egg
-info osm_rosdn_onosof
*.tar.gz'
354 python3 setup.py --command-packages=stdeb.command sdist_dsc
355 sh
-c 'cd deb_dist
/osm
-rosdn
-onosof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
358 #######################################################################################
359 [testenv:dist_ro_sdn_onos_vpls]
360 deps = {[testenv]deps}
361 -r
{toxinidir
}/requirements
-dist.txt
363 allowlist_externals = sh
364 changedir = {toxinidir}/RO-SDN-onos_vpls
366 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onos_vpls.egg
-info osm_rosdn_onos_vpls
*.tar.gz'
367 python3 setup.py --command-packages=stdeb.command sdist_dsc
368 sh
-c 'cd deb_dist
/osm
-rosdn
-onos
-vpls
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
371 #######################################################################################
372 [testenv:dist_ro_sdn_tapi]
373 deps = {[testenv]deps}
374 -r
{toxinidir
}/requirements
-dist.txt
376 whitelist_externals = sh
377 changedir = {toxinidir}/RO-SDN-tapi
379 sh
-c 'rm
-rf deb_dist dist osm_rosdn_tapi.egg
-info osm_rosdn_tapi
*.tar.gz'
380 python3 setup.py --command-packages=stdeb.command sdist_dsc
381 sh
-c 'cd deb_dist
/osm
-rosdn
-tapi
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
384 #######################################################################################
385 [testenv:dist_ro_vim_aws]
386 deps = {[testenv]deps}
387 -r
{toxinidir
}/requirements
-dist.txt
389 allowlist_externals = sh
390 changedir = {toxinidir}/RO-VIM-aws
392 sh
-c 'rm
-rf deb_dist dist osm_rovim_aws.egg
-info osm_rovim_aws
*.tar.gz'
393 python3 setup.py --command-packages=stdeb.command sdist_dsc
394 sh
-c 'cd deb_dist
/osm
-rovim
-aws
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
397 #######################################################################################
398 [testenv:dist_ro_vim_azure]
399 deps = {[testenv]deps}
400 -r
{toxinidir
}/requirements
-dist.txt
402 allowlist_externals = sh
403 changedir = {toxinidir}/RO-VIM-azure
405 sh
-c 'rm
-rf deb_dist dist osm_rovim_azure.egg
-info osm_rovim_azure
*.tar.gz'
406 python3 setup.py --command-packages=stdeb.command sdist_dsc
407 sh
-c 'cd deb_dist
/osm
-rovim
-azure
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
410 #######################################################################################
411 [testenv:dist_ro_vim_openstack]
412 deps = {[testenv]deps}
413 -r
{toxinidir
}/requirements
-dist.txt
415 allowlist_externals = sh
416 changedir = {toxinidir}/RO-VIM-openstack
418 sh
-c 'rm
-rf deb_dist dist osm_rovim_openstack.egg
-info osm_rovim_openstack
*.tar.gz'
419 python3 setup.py --command-packages=stdeb.command sdist_dsc
420 sh
-c 'cd deb_dist
/osm
-rovim
-openstack
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
423 #######################################################################################
424 [testenv:dist_ro_vim_openvim]
425 deps = {[testenv]deps}
426 -r
{toxinidir
}/requirements
-dist.txt
428 allowlist_externals = sh
429 changedir = {toxinidir}/RO-VIM-openvim
431 sh
-c 'rm
-rf deb_dist dist osm_rovim_openvim.egg
-info osm_rovim_openvim
*.tar.gz'
432 python3 setup.py --command-packages=stdeb.command sdist_dsc
433 sh
-c 'cd deb_dist
/osm
-rovim
-openvim
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
436 #######################################################################################
437 [testenv:dist_ro_vim_vmware]
438 deps = {[testenv]deps}
439 -r
{toxinidir
}/requirements
-dist.txt
441 allowlist_externals = sh
442 changedir = {toxinidir}/RO-VIM-vmware
444 sh
-c 'rm
-rf deb_dist dist osm_rovim_vmware.egg
-info osm_rovim_vmware
*.tar.gz'
445 python3 setup.py --command-packages=stdeb.command sdist_dsc
446 sh
-c 'cd deb_dist
/osm
-rovim
-vmware
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
449 #######################################################################################
450 [testenv:dist_ro_vim_gcp]
451 deps = {[testenv]deps}
452 -r
{toxinidir
}/requirements
-dist.txt
454 allowlist_externals = sh
455 changedir = {toxinidir}/RO-VIM-gcp
457 sh
-c 'rm
-rf deb_dist dist osm_rovim_gcp.egg
-info osm_rovim_gcp
*.tar.gz'
458 python3 setup.py --command-packages=stdeb.command sdist_dsc
459 sh
-c 'cd deb_dist
/osm
-rovim
-gcp
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
462 #######################################################################################
479 max-line-length = 120
482 import-order-style = google