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