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, flake8, safety, cover
22 toxworkdir = /tmp/.tox
23 setenv = XDG_CACHE_HOME=/tmp/.cache
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
-VIM
-aws
61 black
--check
--diff RO
-VIM
-azure
62 black
--check
--diff RO
-VIM
-openstack
63 black
--check
--diff RO
-VIM
-openvim
64 black
--check
--diff RO
-VIM
-vmware
65 black
--check
--diff RO
-VIM
-gcp
66 black
--check
--diff integration
-tests
69 #######################################################################################
71 deps = {[testenv]deps}
72 -r
{toxinidir
}/requirements
-dev.txt
73 -r
{toxinidir
}/requirements
-test.txt
75 allowlist_externals = sh
77 sh
-c 'rm
-f nosetests.xml'
80 nose2
-C
--coverage NG
-RO
/osm_ng_ro
-s NG
-RO
/osm_ng_ro
81 sh
-c 'mv .coverage .coverage_ng_ro'
83 # nose2 -C --coverage RO-plugin/osm_ro_plugin -s RO-plugin/osm_ro_plugin
84 # sh -c 'mv .coverage .coverage_ro_plugin'
85 # RO-SDN-arista_cloudvision
86 # nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision -s RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
87 # sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
89 # nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb -s RO-SDN-dpb/osm_rosdn_dpb
90 # sh -c 'mv .coverage .coverage_rosdn_dpb'
92 # nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac -s RO-SDN-dynpac/osm_rosdn_dynpac
93 # sh -c 'mv .coverage .coverage_rosdn_dynpac'
94 # RO-SDN-floodlight_openflow
95 # nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof -s RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
96 # sh -c 'mv .coverage .coverage_rosdn_floodlightof'
98 # nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn -s RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
99 # sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
100 # RO-SDN-juniper_contrail
101 nose2
-C
--coverage RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
-s RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
102 sh
-c 'mv .coverage .coverage_rosdn_juniper_contrail'
103 # RO-SDN-odl_openflow
104 # nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof -s RO-SDN-odl_openflow/osm_rosdn_odlof
105 # sh -c 'mv .coverage .coverage_rosdn_odlof'
106 # RO-SDN-onos_openflow
107 # nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof -s RO-SDN-onos_openflow/osm_rosdn_onosof
108 # sh -c 'mv .coverage .coverage_rosdn_onosof'
110 # nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls -s RO-SDN-onos_vpls/osm_rosdn_onos_vpls
111 # sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
113 # nose2 -C --coverage RO-VIM-aws/osm_rovim_aws -s RO-VIM-aws/osm_rovim_aws
114 # sh -c 'mv .coverage .coverage_rovim_aws'
116 # nose2 -C --coverage RO-VIM-azure/osm_rovim_azure -s RO-VIM-azure/osm_rovim_azure
117 # sh -c 'mv .coverage .coverage_rovim_azure'
119 nose2
-C
--coverage RO
-VIM
-openstack
/osm_rovim_openstack
-s RO
-VIM
-openstack
/osm_rovim_openstack
120 sh
-c 'mv .coverage .coverage_rovim_openstack'
122 # nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim -s RO-VIM-openvim/osm_rovim_openvim
123 # sh -c 'mv .coverage .coverage_rovim_openvim'
125 # nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
126 # sh -c 'mv .coverage .coverage_rovim_vmware'
128 # nose2 -C --coverage RO-VIM-gcp/osm_rovim_gcp -s RO-VIM-gcp/osm_rovim_gcp
129 # sh -c 'mv .coverage .coverage_rovim_gcp'
130 # Combine results and generate reports
131 # 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_rovim_aws .coverage_rovim_azure .coverage_rovim_openvim .coverage_rovim_gcp # .coverage_rovim_openstack .coverage_rovim_vmware
132 coverage combine .coverage_ng_ro .coverage_rovim_openstack .coverage_rosdn_juniper_contrail
133 coverage report --omit='*tests*'
134 coverage html -d ./cover --omit='*tests*'
135 coverage xml -o coverage.xml --omit='*tests*'
138 #######################################################################################
145 flake8 NG
-RO
/osm_ng_ro
/ NG
-RO
/setup.py
146 flake8 RO
-plugin
/osm_ro_plugin
/ RO
-plugin
/setup.py
147 flake8 RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
/ RO
-SDN
-arista_cloudvision
/setup.py
148 flake8 RO
-SDN
-dpb
/osm_rosdn_dpb
/ RO
-SDN
-dpb
/setup.py
149 flake8 RO
-SDN
-dynpac
/osm_rosdn_dynpac
/ RO
-SDN
-dynpac
/setup.py
150 flake8 RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
/ RO
-SDN
-floodlight_openflow
/setup.py
151 flake8 RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
/ RO
-SDN
-ietfl2vpn
/setup.py
152 flake8 RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
/ RO
-SDN
-juniper_contrail
/setup.py
153 flake8 RO
-SDN
-odl_openflow
/osm_rosdn_odlof
/ RO
-SDN
-odl_openflow
/setup.py
154 flake8 RO
-SDN
-onos_openflow
/osm_rosdn_onosof
/ RO
-SDN
-onos_openflow
/setup.py
155 flake8 RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
/ RO
-SDN
-onos_vpls
/setup.py
156 flake8 RO
-VIM
-aws
/osm_rovim_aws
/ RO
-VIM
-aws
/setup.py
157 flake8 RO
-VIM
-azure
/osm_rovim_azure
/ RO
-VIM
-azure
/setup.py
158 flake8 RO
-VIM
-openstack
/osm_rovim_openstack
/ RO
-VIM
-openstack
/setup.py
159 flake8 RO
-VIM
-openvim
/osm_rovim_openvim
/ RO
-VIM
-openvim
/setup.py
160 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
161 flake8 RO
-VIM
-gcp
/osm_rovim_gcp
/ RO
-VIM
-gcp
/setup.py
162 flake8 integration
-tests
/
165 #######################################################################################
167 deps = {[testenv]deps}
168 -r
{toxinidir
}/requirements
-dev.txt
169 -r
{toxinidir
}/requirements
-test.txt
173 - pylint
-E NG
-RO
/osm_ng_ro
174 - pylint
-E RO
-plugin
/osm_ro_plugin
175 - pylint
-E RO
-SDN
-arista_cloudvision
/osm_rosdn_arista_cloudvision
176 - pylint
-E RO
-SDN
-dpb
/osm_rosdn_dpb
177 - pylint
-E RO
-SDN
-dynpac
/osm_rosdn_dynpac
178 - pylint
-E RO
-SDN
-floodlight_openflow
/osm_rosdn_floodlightof
179 - pylint
-E RO
-SDN
-ietfl2vpn
/osm_rosdn_ietfl2vpn
180 - pylint
-E RO
-SDN
-juniper_contrail
/osm_rosdn_juniper_contrail
181 - pylint
-E RO
-SDN
-odl_openflow
/osm_rosdn_odlof
182 - pylint
-E RO
-SDN
-onos_openflow
/osm_rosdn_onosof
183 - pylint
-E RO
-SDN
-onos_vpls
/osm_rosdn_onos_vpls
184 - pylint
-E RO
-VIM
-aws
/osm_rovim_aws
185 - pylint
-E RO
-VIM
-azure
/osm_rovim_azure
186 - pylint
-E RO
-VIM
-openstack
/osm_rovim_openstack
187 - pylint
-E RO
-VIM
-openvim
/osm_rovim_openvim
188 - pylint
-E RO
-VIM
-vmware
/osm_rovim_vmware
189 - pylint
-E RO
-VIM
-gcp
/osm_rovim_gcp
192 #######################################################################################
197 deps = {[testenv]deps}
201 - safety check
--full
-report
204 #######################################################################################
205 [testenv:pip-compile]
206 deps = pip-tools==6.6.2
208 allowlist_externals = bash
211 - bash
-c
"for file in requirements*.in ; do \
213 if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
214 pip-compile -rU --no-header $UNSAFE $file ;\
215 out=`echo $file | sed 's/.in/.txt/'` ; \
216 sed -i -e '1 e head -16 tox.ini' $out ;\
218 - bash
-c
"sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"
221 #######################################################################################
223 deps = {[testenv]deps}
224 -r
{toxinidir
}/requirements
-dist.txt
226 allowlist_externals = sh
227 changedir = {toxinidir}/NG-RO
229 sh
-c 'rm
-rf osm_ng_ro
/requirements.txt deb_dist dist osm_ng_ro.egg
-info osm_ng_ro
*.tar.gz'
230 sh
-c 'cp ..
/requirements.txt osm_ng_ro
/requirements.txt'
231 python3 setup.py --command-packages=stdeb.command sdist_dsc
232 sh
-c 'cd deb_dist
/osm
-ng
-ro
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
235 #######################################################################################
236 [testenv:dist_ro_plugin]
237 deps = {[testenv]deps}
238 -r
{toxinidir
}/requirements
-dist.txt
240 allowlist_externals = sh
241 changedir = {toxinidir}/RO-plugin
243 sh
-c 'rm
-rf deb_dist dist osm_ro_plugin.egg
-info osm_ro_plugin
*.tar.gz'
244 python3 setup.py --command-packages=stdeb.command sdist_dsc
245 sh
-c 'cd deb_dist
/osm
-ro
-plugin
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
248 #######################################################################################
249 [testenv:dist_ro_sdn_arista_cloudvision]
250 deps = {[testenv]deps}
251 -r
{toxinidir
}/requirements
-dist.txt
253 allowlist_externals = sh
254 changedir = {toxinidir}/RO-SDN-arista_cloudvision
256 sh
-c 'rm
-rf deb_dist dist osm_rosdn_arista_cloudvision.egg
-info osm_rosdn_arista_cloudvision
*.tar.gz'
257 python3 setup.py --command-packages=stdeb.command sdist_dsc
258 sh
-c 'cd deb_dist
/osm
-rosdn
-arista
-cloudvision
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
261 #######################################################################################
262 [testenv:dist_ro_sdn_dpb]
263 deps = {[testenv]deps}
264 -r
{toxinidir
}/requirements
-dist.txt
266 allowlist_externals = sh
267 changedir = {toxinidir}/RO-SDN-dpb
269 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dpb.egg
-info osm_rosdn_dpb
*.tar.gz'
270 python3 setup.py --command-packages=stdeb.command sdist_dsc
271 sh
-c 'cd deb_dist
/osm
-rosdn
-dpb
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
274 #######################################################################################
275 [testenv:dist_ro_sdn_dynpac]
276 deps = {[testenv]deps}
277 -r
{toxinidir
}/requirements
-dist.txt
279 allowlist_externals = sh
280 changedir = {toxinidir}/RO-SDN-dynpac
282 sh
-c 'rm
-rf deb_dist dist osm_rosdn_dynpac.egg
-info osm_rosdn_dynpac
*.tar.gz'
283 python3 setup.py --command-packages=stdeb.command sdist_dsc
284 sh
-c 'cd deb_dist
/osm
-rosdn
-dynpac
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
287 #######################################################################################
288 [testenv:dist_ro_sdn_floodlight_of]
289 deps = {[testenv]deps}
290 -r
{toxinidir
}/requirements
-dist.txt
292 allowlist_externals = sh
293 changedir = {toxinidir}/RO-SDN-floodlight_openflow
295 sh
-c 'rm
-rf deb_dist dist osm_rosdn_floodlightof.egg
-info osm_rosdn_floodlightof
*.tar.gz'
296 python3 setup.py --command-packages=stdeb.command sdist_dsc
297 sh
-c 'cd deb_dist
/osm
-rosdn
-floodlightof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
300 #######################################################################################
301 [testenv:dist_ro_sdn_ietfl2vpn]
302 deps = {[testenv]deps}
303 -r
{toxinidir
}/requirements
-dist.txt
305 allowlist_externals = sh
306 changedir = {toxinidir}/RO-SDN-ietfl2vpn
308 sh
-c 'rm
-rf deb_dist dist osm_rosdn_ietfl2vpn.egg
-info osm_rosdn_ietfl2vpn
*.tar.gz'
309 python3 setup.py --command-packages=stdeb.command sdist_dsc
310 sh
-c 'cd deb_dist
/osm
-rosdn
-ietfl2vpn
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
313 #######################################################################################
314 [testenv:dist_ro_sdn_juniper_contrail]
315 deps = {[testenv]deps}
316 -r
{toxinidir
}/requirements
-dist.txt
318 allowlist_externals = sh
319 changedir = {toxinidir}/RO-SDN-juniper_contrail
321 sh
-c 'rm
-rf deb_dist dist osm_rosdn_juniper_contrail.egg
-info osm_rosdn_juniper_contrail
*.tar.gz'
322 python3 setup.py --command-packages=stdeb.command sdist_dsc
323 sh
-c 'cd deb_dist
/osm
-rosdn
-juniper
-contrail
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
326 #######################################################################################
327 [testenv:dist_ro_sdn_odl_of]
328 deps = {[testenv]deps}
329 -r
{toxinidir
}/requirements
-dist.txt
331 allowlist_externals = sh
332 changedir = {toxinidir}/RO-SDN-odl_openflow
334 sh
-c 'rm
-rf deb_dist dist osm_rosdn_odlof.egg
-info osm_rosdn_odlof
*.tar.gz'
335 python3 setup.py --command-packages=stdeb.command sdist_dsc
336 sh
-c 'cd deb_dist
/osm
-rosdn
-odlof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
339 #######################################################################################
340 [testenv:dist_ro_sdn_onos_of]
341 deps = {[testenv]deps}
342 -r
{toxinidir
}/requirements
-dist.txt
344 allowlist_externals = sh
345 changedir = {toxinidir}/RO-SDN-onos_openflow
347 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onosof.egg
-info osm_rosdn_onosof
*.tar.gz'
348 python3 setup.py --command-packages=stdeb.command sdist_dsc
349 sh
-c 'cd deb_dist
/osm
-rosdn
-onosof
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
352 #######################################################################################
353 [testenv:dist_ro_sdn_onos_vpls]
354 deps = {[testenv]deps}
355 -r
{toxinidir
}/requirements
-dist.txt
357 allowlist_externals = sh
358 changedir = {toxinidir}/RO-SDN-onos_vpls
360 sh
-c 'rm
-rf deb_dist dist osm_rosdn_onos_vpls.egg
-info osm_rosdn_onos_vpls
*.tar.gz'
361 python3 setup.py --command-packages=stdeb.command sdist_dsc
362 sh
-c 'cd deb_dist
/osm
-rosdn
-onos
-vpls
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
365 #######################################################################################
366 [testenv:dist_ro_vim_aws]
367 deps = {[testenv]deps}
368 -r
{toxinidir
}/requirements
-dist.txt
370 allowlist_externals = sh
371 changedir = {toxinidir}/RO-VIM-aws
373 sh
-c 'rm
-rf deb_dist dist osm_rovim_aws.egg
-info osm_rovim_aws
*.tar.gz'
374 python3 setup.py --command-packages=stdeb.command sdist_dsc
375 sh
-c 'cd deb_dist
/osm
-rovim
-aws
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
378 #######################################################################################
379 [testenv:dist_ro_vim_azure]
380 deps = {[testenv]deps}
381 -r
{toxinidir
}/requirements
-dist.txt
383 allowlist_externals = sh
384 changedir = {toxinidir}/RO-VIM-azure
386 sh
-c 'rm
-rf deb_dist dist osm_rovim_azure.egg
-info osm_rovim_azure
*.tar.gz'
387 python3 setup.py --command-packages=stdeb.command sdist_dsc
388 sh
-c 'cd deb_dist
/osm
-rovim
-azure
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
391 #######################################################################################
392 [testenv:dist_ro_vim_openstack]
393 deps = {[testenv]deps}
394 -r
{toxinidir
}/requirements
-dist.txt
396 allowlist_externals = sh
397 changedir = {toxinidir}/RO-VIM-openstack
399 sh
-c 'rm
-rf deb_dist dist osm_rovim_openstack.egg
-info osm_rovim_openstack
*.tar.gz'
400 python3 setup.py --command-packages=stdeb.command sdist_dsc
401 sh
-c 'cd deb_dist
/osm
-rovim
-openstack
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
404 #######################################################################################
405 [testenv:dist_ro_vim_openvim]
406 deps = {[testenv]deps}
407 -r
{toxinidir
}/requirements
-dist.txt
409 allowlist_externals = sh
410 changedir = {toxinidir}/RO-VIM-openvim
412 sh
-c 'rm
-rf deb_dist dist osm_rovim_openvim.egg
-info osm_rovim_openvim
*.tar.gz'
413 python3 setup.py --command-packages=stdeb.command sdist_dsc
414 sh
-c 'cd deb_dist
/osm
-rovim
-openvim
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
417 #######################################################################################
418 [testenv:dist_ro_vim_vmware]
419 deps = {[testenv]deps}
420 -r
{toxinidir
}/requirements
-dist.txt
422 allowlist_externals = sh
423 changedir = {toxinidir}/RO-VIM-vmware
425 sh
-c 'rm
-rf deb_dist dist osm_rovim_vmware.egg
-info osm_rovim_vmware
*.tar.gz'
426 python3 setup.py --command-packages=stdeb.command sdist_dsc
427 sh
-c 'cd deb_dist
/osm
-rovim
-vmware
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
430 #######################################################################################
431 [testenv:dist_ro_vim_gcp]
432 deps = {[testenv]deps}
433 -r
{toxinidir
}/requirements
-dist.txt
435 allowlist_externals = sh
436 changedir = {toxinidir}/RO-VIM-gcp
438 sh
-c 'rm
-rf deb_dist dist osm_rovim_gcp.egg
-info osm_rovim_gcp
*.tar.gz'
439 python3 setup.py --command-packages=stdeb.command sdist_dsc
440 sh
-c 'cd deb_dist
/osm
-rovim
-gcp
*/ && dpkg
-buildpackage
-rfakeroot
-uc
-us'
443 #######################################################################################
460 max-line-length = 120
463 import-order-style = google