blob: ac731da3b341d1b7d67d5381083a57e071ab7913 [file] [log] [blame]
sousaedu4a142752021-02-18 14:57:01 +01001#######################################################################################
2# Copyright ETSI Contributors and Others.
3#
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
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
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
13# implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#######################################################################################
17
18[tox]
sousaedu7e2e5a72021-11-29 09:28:15 +000019envlist = black, flake8, safety
sousaedu4a142752021-02-18 14:57:01 +010020
21[tox:jenkins]
22toxworkdir = /tmp/.tox
23
24[testenv]
25usedevelop = True
26basepython = python3
27setenv = VIRTUAL_ENV={envdir}
28 PYTHONDONTWRITEBYTECODE = 1
29deps = -r{toxinidir}/requirements.txt
30parallel_show_output = true
31
32
33#######################################################################################
34[testenv:black]
35deps = black
36skip_install = true
37commands =
sousaedu7e2e5a72021-11-29 09:28:15 +000038 black --check --diff NG-RO
39 black --check --diff RO-plugin
40 black --check --diff RO-SDN-arista_cloudvision
41 black --check --diff RO-SDN-dpb
42 black --check --diff RO-SDN-dynpac
43 black --check --diff RO-SDN-floodlight_openflow
44 black --check --diff RO-SDN-ietfl2vpn
45 black --check --diff RO-SDN-juniper_contrail
46 black --check --diff RO-SDN-odl_openflow
47 black --check --diff RO-SDN-onos_openflow
48 black --check --diff RO-SDN-onos_vpls
49 black --check --diff RO-VIM-aws
50 black --check --diff RO-VIM-azure
51 black --check --diff RO-VIM-fos
sousaedu7e2e5a72021-11-29 09:28:15 +000052 black --check --diff RO-VIM-openstack
53 black --check --diff RO-VIM-openvim
54 black --check --diff RO-VIM-vmware
sousaedu4a142752021-02-18 14:57:01 +010055
56
57#######################################################################################
58[testenv:cover]
59deps = {[testenv]deps}
60 -r{toxinidir}/requirements-dev.txt
61 -r{toxinidir}/requirements-test.txt
62skip_install = true
63commands =
64 sh -c 'rm -f nosetests.xml'
65 coverage erase
66 # NG-RO
67 - nose2 -C --coverage NG-RO/osm_ng_ro
68 sh -c 'mv .coverage .coverage_ng_ro'
69 # RO-plugin
70 - nose2 -C --coverage RO-plugin/osm_ro_plugin
71 sh -c 'mv .coverage .coverage_ro_plugin'
72 # RO-SDN-arista_cloudvision
73 - nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
74 sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
75 # RO-SDN-dpb
76 - nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb
77 sh -c 'mv .coverage .coverage_rosdn_dpb'
78 # RO-SDN-dynpac
79 - nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac
80 sh -c 'mv .coverage .coverage_rosdn_dynpac'
81 # RO-SDN-floodlight_openflow
82 - nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
83 sh -c 'mv .coverage .coverage_rosdn_floodlightof'
84 # RO-SDN-ietfl2vpn
85 - nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
86 sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
87 # RO-SDN-juniper_contrail
88 - nose2 -C --coverage RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
89 sh -c 'mv .coverage .coverage_rosdn_juniper_contrail'
90 # RO-SDN-odl_openflow
91 - nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof
92 sh -c 'mv .coverage .coverage_rosdn_odlof'
93 # RO-SDN-onos_openflow
94 - nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof
95 sh -c 'mv .coverage .coverage_rosdn_onosof'
96 # RO-SDN-onos_vpls
97 - nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls
98 sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
99 # RO-VIM-aws
100 - nose2 -C --coverage RO-VIM-aws/osm_rovim_aws
101 sh -c 'mv .coverage .coverage_rovim_aws'
102 # RO-VIM-azure
103 - nose2 -C --coverage RO-VIM-azure/osm_rovim_azure
104 sh -c 'mv .coverage .coverage_rovim_azure'
105 # RO-VIM-fos
106 - nose2 -C --coverage RO-VIM-fos/osm_rovim_fos
107 sh -c 'mv .coverage .coverage_rovim_fos'
sousaedu4a142752021-02-18 14:57:01 +0100108 # RO-VIM-openstack
109 - nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
110 sh -c 'mv .coverage .coverage_rovim_openstack'
111 # RO-VIM-openvim
112 - nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim
113 sh -c 'mv .coverage .coverage_rovim_openvim'
114 # RO-VIM-vmware
115 - nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
116 sh -c 'mv .coverage .coverage_rovim_vmware'
117 # Combine results and generate reports
almagia03681e42021-12-01 09:53:22 +0100118 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_fos .coverage_rovim_openvim # .coverage_rovim_openstack .coverage_rovim_vmware
sousaedu4a142752021-02-18 14:57:01 +0100119 coverage report --omit='*tests*'
120 coverage html -d ./cover --omit='*tests*'
121 coverage xml -o coverage.xml --omit='*tests*'
122whitelist_externals = sh
123
124
125#######################################################################################
126[testenv:flake8]
127deps = flake8
128skip_install = true
129commands =
130 - flake8 NG-RO/osm_ng_ro/ NG-RO/setup.py
131 - flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
132 - flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
133 - flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
134 - flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
135 - flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
136 - flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
137 - flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
138 - flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
139 - flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
140 - flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
141 - flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
142 - flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
143 - flake8 RO-VIM-fos/osm_rovim_fos/ RO-VIM-fos/setup.py
sousaedu4a142752021-02-18 14:57:01 +0100144 - flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
145 - flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
146 - 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
147
148
149#######################################################################################
150[testenv:pylint]
151deps = {[testenv]deps}
152 -r{toxinidir}/requirements-dev.txt
153 -r{toxinidir}/requirements-test.txt
154 pylint
155skip_install = true
156commands =
157 - pylint -E NG-RO/osm_ng_ro
158 - pylint -E RO-plugin/osm_ro_plugin
159 - pylint -E RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
160 - pylint -E RO-SDN-dpb/osm_rosdn_dpb
161 - pylint -E RO-SDN-dynpac/osm_rosdn_dynpac
162 - pylint -E RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
163 - pylint -E RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
164 - pylint -E RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
165 - pylint -E RO-SDN-odl_openflow/osm_rosdn_odlof
166 - pylint -E RO-SDN-onos_openflow/osm_rosdn_onosof
167 - pylint -E RO-SDN-onos_vpls/osm_rosdn_onos_vpls
168 - pylint -E RO-VIM-aws/osm_rovim_aws
169 - pylint -E RO-VIM-azure/osm_rovim_azure
170 - pylint -E RO-VIM-fos/osm_rovim_fos
sousaedu4a142752021-02-18 14:57:01 +0100171 - pylint -E RO-VIM-openstack/osm_rovim_openstack
172 - pylint -E RO-VIM-openvim/osm_rovim_openvim
173 - pylint -E RO-VIM-vmware/osm_rovim_vmware
174
175
176#######################################################################################
177[testenv:safety]
178setenv =
179 LC_ALL=C.UTF-8
180 LANG=C.UTF-8
181deps = {[testenv]deps}
182 safety
183skip_install = true
184commands =
185 - safety check --full-report
186
187
188#######################################################################################
189[testenv:pip-compile]
190deps = pip-tools==5.5.0
191skip_install = true
192commands =
193 - sh -c "for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
194 out=`echo $file | sed 's/.in/.txt/'` ;\
195 sed -i -e '1 e head -16 tox.ini' $out ;\
196 done"
197whitelist_externals = sh
198
199
200#######################################################################################
201[testenv:dist_ng_ro]
202deps = {[testenv]deps}
203 -r{toxinidir}/requirements-dist.txt
204skip_install = true
205changedir = {toxinidir}/NG-RO
206commands =
207 sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
208 sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
209 python3 setup.py --command-packages=stdeb.command sdist_dsc
210 sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
211whitelist_externals = sh
212
213#######################################################################################
214[testenv:dist_ro_plugin]
215deps = {[testenv]deps}
216 -r{toxinidir}/requirements-dist.txt
217skip_install = true
218changedir = {toxinidir}/RO-plugin
219commands =
220 sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
221 python3 setup.py --command-packages=stdeb.command sdist_dsc
222 sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
223whitelist_externals = sh
224
225#######################################################################################
226[testenv:dist_ro_sdn_arista_cloudvision]
227deps = {[testenv]deps}
228 -r{toxinidir}/requirements-dist.txt
229skip_install = true
230changedir = {toxinidir}/RO-SDN-arista_cloudvision
231commands =
232 sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
233 python3 setup.py --command-packages=stdeb.command sdist_dsc
234 sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
235whitelist_externals = sh
236
237#######################################################################################
238[testenv:dist_ro_sdn_dpb]
239deps = {[testenv]deps}
240 -r{toxinidir}/requirements-dist.txt
241skip_install = true
242changedir = {toxinidir}/RO-SDN-dpb
243commands =
244 sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
245 python3 setup.py --command-packages=stdeb.command sdist_dsc
246 sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
247whitelist_externals = sh
248
249#######################################################################################
250[testenv:dist_ro_sdn_dynpac]
251deps = {[testenv]deps}
252 -r{toxinidir}/requirements-dist.txt
253skip_install = true
254changedir = {toxinidir}/RO-SDN-dynpac
255commands =
256 sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
257 python3 setup.py --command-packages=stdeb.command sdist_dsc
258 sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
259whitelist_externals = sh
260
261#######################################################################################
262[testenv:dist_ro_sdn_floodlight_of]
263deps = {[testenv]deps}
264 -r{toxinidir}/requirements-dist.txt
265skip_install = true
266changedir = {toxinidir}/RO-SDN-floodlight_openflow
267commands =
268 sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
269 python3 setup.py --command-packages=stdeb.command sdist_dsc
270 sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
271whitelist_externals = sh
272
273#######################################################################################
274[testenv:dist_ro_sdn_ietfl2vpn]
275deps = {[testenv]deps}
276 -r{toxinidir}/requirements-dist.txt
277skip_install = true
278changedir = {toxinidir}/RO-SDN-ietfl2vpn
279commands =
280 sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
281 python3 setup.py --command-packages=stdeb.command sdist_dsc
282 sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
283whitelist_externals = sh
284
285#######################################################################################
286[testenv:dist_ro_sdn_juniper_contrail]
287deps = {[testenv]deps}
288 -r{toxinidir}/requirements-dist.txt
289skip_install = true
290changedir = {toxinidir}/RO-SDN-juniper_contrail
291commands =
292 sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
293 python3 setup.py --command-packages=stdeb.command sdist_dsc
294 sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
295whitelist_externals = sh
296
297#######################################################################################
298[testenv:dist_ro_sdn_odl_of]
299deps = {[testenv]deps}
300 -r{toxinidir}/requirements-dist.txt
301skip_install = true
302changedir = {toxinidir}/RO-SDN-odl_openflow
303commands =
304 sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
305 python3 setup.py --command-packages=stdeb.command sdist_dsc
306 sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
307whitelist_externals = sh
308
309#######################################################################################
310[testenv:dist_ro_sdn_onos_of]
311deps = {[testenv]deps}
312 -r{toxinidir}/requirements-dist.txt
313skip_install = true
314changedir = {toxinidir}/RO-SDN-onos_openflow
315commands =
316 sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
317 python3 setup.py --command-packages=stdeb.command sdist_dsc
318 sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
319whitelist_externals = sh
320
321#######################################################################################
322[testenv:dist_ro_sdn_onos_vpls]
323deps = {[testenv]deps}
324 -r{toxinidir}/requirements-dist.txt
325skip_install = true
326changedir = {toxinidir}/RO-SDN-onos_vpls
327commands =
328 sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
329 python3 setup.py --command-packages=stdeb.command sdist_dsc
330 sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
331whitelist_externals = sh
332
333#######################################################################################
334[testenv:dist_ro_vim_aws]
335deps = {[testenv]deps}
336 -r{toxinidir}/requirements-dist.txt
337skip_install = true
338changedir = {toxinidir}/RO-VIM-aws
339commands =
340 sh -c 'rm -rf deb_dist dist osm_rovim_aws.egg-info osm_rovim_aws*.tar.gz'
341 python3 setup.py --command-packages=stdeb.command sdist_dsc
342 sh -c 'cd deb_dist/osm-rovim-aws*/ && dpkg-buildpackage -rfakeroot -uc -us'
343whitelist_externals = sh
344
345#######################################################################################
346[testenv:dist_ro_vim_azure]
347deps = {[testenv]deps}
348 -r{toxinidir}/requirements-dist.txt
349skip_install = true
350changedir = {toxinidir}/RO-VIM-azure
351commands =
352 sh -c 'rm -rf deb_dist dist osm_rovim_azure.egg-info osm_rovim_azure*.tar.gz'
353 python3 setup.py --command-packages=stdeb.command sdist_dsc
354 sh -c 'cd deb_dist/osm-rovim-azure*/ && dpkg-buildpackage -rfakeroot -uc -us'
355whitelist_externals = sh
356
357#######################################################################################
358[testenv:dist_ro_vim_fos]
359deps = {[testenv]deps}
360 -r{toxinidir}/requirements-dist.txt
361skip_install = true
362changedir = {toxinidir}/RO-VIM-fos
363commands =
364 sh -c 'rm -rf deb_dist dist osm_rovim_fos.egg-info osm_rovim_fos*.tar.gz'
365 python3 setup.py --command-packages=stdeb.command sdist_dsc
366 sh -c 'cd deb_dist/osm-rovim-fos*/ && dpkg-buildpackage -rfakeroot -uc -us'
367whitelist_externals = sh
368
sousaedu4a142752021-02-18 14:57:01 +0100369
370#######################################################################################
371[testenv:dist_ro_vim_openstack]
372deps = {[testenv]deps}
373 -r{toxinidir}/requirements-dist.txt
374skip_install = true
375changedir = {toxinidir}/RO-VIM-openstack
376commands =
377 sh -c 'rm -rf deb_dist dist osm_rovim_openstack.egg-info osm_rovim_openstack*.tar.gz'
378 python3 setup.py --command-packages=stdeb.command sdist_dsc
379 sh -c 'cd deb_dist/osm-rovim-openstack*/ && dpkg-buildpackage -rfakeroot -uc -us'
380whitelist_externals = sh
381
382#######################################################################################
383[testenv:dist_ro_vim_openvim]
384deps = {[testenv]deps}
385 -r{toxinidir}/requirements-dist.txt
386skip_install = true
387changedir = {toxinidir}/RO-VIM-openvim
388commands =
389 sh -c 'rm -rf deb_dist dist osm_rovim_openvim.egg-info osm_rovim_openvim*.tar.gz'
390 python3 setup.py --command-packages=stdeb.command sdist_dsc
391 sh -c 'cd deb_dist/osm-rovim-openvim*/ && dpkg-buildpackage -rfakeroot -uc -us'
392whitelist_externals = sh
393
394#######################################################################################
395[testenv:dist_ro_vim_vmware]
396deps = {[testenv]deps}
397 -r{toxinidir}/requirements-dist.txt
398skip_install = true
399changedir = {toxinidir}/RO-VIM-vmware
400commands =
401 sh -c 'rm -rf deb_dist dist osm_rovim_vmware.egg-info osm_rovim_vmware*.tar.gz'
402 python3 setup.py --command-packages=stdeb.command sdist_dsc
403 sh -c 'cd deb_dist/osm-rovim-vmware*/ && dpkg-buildpackage -rfakeroot -uc -us'
404whitelist_externals = sh
405
406#######################################################################################
407[flake8]
408ignore =
409 W291,
410 W293,
411 W503,
412 W605,
413 E123,
414 E125,
415 E203,
416 E226,
417 E241
418exclude =
419 .git,
420 __pycache__,
421 .tox,
422max-line-length = 120
423show-source = True
424builtins = _