Pip standerdization and tox replacement
[osm/RO.git] / tox.ini
1 #######################################################################################
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]
19 envlist = black, flake8, pylint, safety
20
21 [tox:jenkins]
22 toxworkdir = /tmp/.tox
23
24 [testenv]
25 usedevelop = True
26 basepython = python3
27 setenv = VIRTUAL_ENV={envdir}
28 PYTHONDONTWRITEBYTECODE = 1
29 deps = -r{toxinidir}/requirements.txt
30 parallel_show_output = true
31
32
33 #######################################################################################
34 [testenv:black]
35 deps = black
36 skip_install = true
37 commands =
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]
60 deps = {[testenv]deps}
61 -r{toxinidir}/requirements-dev.txt
62 -r{toxinidir}/requirements-test.txt
63 skip_install = true
64 commands =
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*'
126 whitelist_externals = sh
127
128
129 #######################################################################################
130 [testenv:flake8]
131 deps = flake8
132 skip_install = true
133 commands =
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]
156 deps = {[testenv]deps}
157 -r{toxinidir}/requirements-dev.txt
158 -r{toxinidir}/requirements-test.txt
159 pylint
160 skip_install = true
161 commands =
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]
184 setenv =
185 LC_ALL=C.UTF-8
186 LANG=C.UTF-8
187 deps = {[testenv]deps}
188 safety
189 skip_install = true
190 commands =
191 - safety check --full-report
192
193
194 #######################################################################################
195 [testenv:pip-compile]
196 deps = pip-tools==5.5.0
197 commands =
198 - sh -c 'for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
199 out=`echo $file | sed "s/.in/.txt/"` ; \
200 head -16 tox.ini >> $out ;\
201 done'
202 whitelist_externals = sh
203
204
205 #######################################################################################
206 [testenv:dist_ng_ro]
207 deps = {[testenv]deps}
208 -r{toxinidir}/requirements-dist.txt
209 skip_install = true
210 changedir = {toxinidir}/NG-RO
211 commands =
212 sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
213 sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
214 python3 setup.py --command-packages=stdeb.command sdist_dsc
215 sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
216 whitelist_externals = sh
217
218 #######################################################################################
219 [testenv:dist_ro_plugin]
220 deps = {[testenv]deps}
221 -r{toxinidir}/requirements-dist.txt
222 skip_install = true
223 changedir = {toxinidir}/RO-plugin
224 commands =
225 sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
226 python3 setup.py --command-packages=stdeb.command sdist_dsc
227 sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
228 whitelist_externals = sh
229
230 #######################################################################################
231 [testenv:dist_ro_sdn_arista_cloudvision]
232 deps = {[testenv]deps}
233 -r{toxinidir}/requirements-dist.txt
234 skip_install = true
235 changedir = {toxinidir}/RO-SDN-arista_cloudvision
236 commands =
237 sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
238 python3 setup.py --command-packages=stdeb.command sdist_dsc
239 sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
240 whitelist_externals = sh
241
242 #######################################################################################
243 [testenv:dist_ro_sdn_dpb]
244 deps = {[testenv]deps}
245 -r{toxinidir}/requirements-dist.txt
246 skip_install = true
247 changedir = {toxinidir}/RO-SDN-dpb
248 commands =
249 sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
250 python3 setup.py --command-packages=stdeb.command sdist_dsc
251 sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
252 whitelist_externals = sh
253
254 #######################################################################################
255 [testenv:dist_ro_sdn_dynpac]
256 deps = {[testenv]deps}
257 -r{toxinidir}/requirements-dist.txt
258 skip_install = true
259 changedir = {toxinidir}/RO-SDN-dynpac
260 commands =
261 sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
262 python3 setup.py --command-packages=stdeb.command sdist_dsc
263 sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
264 whitelist_externals = sh
265
266 #######################################################################################
267 [testenv:dist_ro_sdn_floodlight_of]
268 deps = {[testenv]deps}
269 -r{toxinidir}/requirements-dist.txt
270 skip_install = true
271 changedir = {toxinidir}/RO-SDN-floodlight_openflow
272 commands =
273 sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
274 python3 setup.py --command-packages=stdeb.command sdist_dsc
275 sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
276 whitelist_externals = sh
277
278 #######################################################################################
279 [testenv:dist_ro_sdn_ietfl2vpn]
280 deps = {[testenv]deps}
281 -r{toxinidir}/requirements-dist.txt
282 skip_install = true
283 changedir = {toxinidir}/RO-SDN-ietfl2vpn
284 commands =
285 sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
286 python3 setup.py --command-packages=stdeb.command sdist_dsc
287 sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
288 whitelist_externals = sh
289
290 #######################################################################################
291 [testenv:dist_ro_sdn_juniper_contrail]
292 deps = {[testenv]deps}
293 -r{toxinidir}/requirements-dist.txt
294 skip_install = true
295 changedir = {toxinidir}/RO-SDN-juniper_contrail
296 commands =
297 sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
298 python3 setup.py --command-packages=stdeb.command sdist_dsc
299 sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
300 whitelist_externals = sh
301
302 #######################################################################################
303 [testenv:dist_ro_sdn_odl_of]
304 deps = {[testenv]deps}
305 -r{toxinidir}/requirements-dist.txt
306 skip_install = true
307 changedir = {toxinidir}/RO-SDN-odl_openflow
308 commands =
309 sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
310 python3 setup.py --command-packages=stdeb.command sdist_dsc
311 sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
312 whitelist_externals = sh
313
314 #######################################################################################
315 [testenv:dist_ro_sdn_onos_of]
316 deps = {[testenv]deps}
317 -r{toxinidir}/requirements-dist.txt
318 skip_install = true
319 changedir = {toxinidir}/RO-SDN-onos_openflow
320 commands =
321 sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
322 python3 setup.py --command-packages=stdeb.command sdist_dsc
323 sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
324 whitelist_externals = sh
325
326 #######################################################################################
327 [testenv:dist_ro_sdn_onos_vpls]
328 deps = {[testenv]deps}
329 -r{toxinidir}/requirements-dist.txt
330 skip_install = true
331 changedir = {toxinidir}/RO-SDN-onos_vpls
332 commands =
333 sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
334 python3 setup.py --command-packages=stdeb.command sdist_dsc
335 sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
336 whitelist_externals = sh
337
338 #######################################################################################
339 [testenv:dist_ro_vim_aws]
340 deps = {[testenv]deps}
341 -r{toxinidir}/requirements-dist.txt
342 skip_install = true
343 changedir = {toxinidir}/RO-VIM-aws
344 commands =
345 sh -c 'rm -rf deb_dist dist osm_rovim_aws.egg-info osm_rovim_aws*.tar.gz'
346 python3 setup.py --command-packages=stdeb.command sdist_dsc
347 sh -c 'cd deb_dist/osm-rovim-aws*/ && dpkg-buildpackage -rfakeroot -uc -us'
348 whitelist_externals = sh
349
350 #######################################################################################
351 [testenv:dist_ro_vim_azure]
352 deps = {[testenv]deps}
353 -r{toxinidir}/requirements-dist.txt
354 skip_install = true
355 changedir = {toxinidir}/RO-VIM-azure
356 commands =
357 sh -c 'rm -rf deb_dist dist osm_rovim_azure.egg-info osm_rovim_azure*.tar.gz'
358 python3 setup.py --command-packages=stdeb.command sdist_dsc
359 sh -c 'cd deb_dist/osm-rovim-azure*/ && dpkg-buildpackage -rfakeroot -uc -us'
360 whitelist_externals = sh
361
362 #######################################################################################
363 [testenv:dist_ro_vim_fos]
364 deps = {[testenv]deps}
365 -r{toxinidir}/requirements-dist.txt
366 skip_install = true
367 changedir = {toxinidir}/RO-VIM-fos
368 commands =
369 sh -c 'rm -rf deb_dist dist osm_rovim_fos.egg-info osm_rovim_fos*.tar.gz'
370 python3 setup.py --command-packages=stdeb.command sdist_dsc
371 sh -c 'cd deb_dist/osm-rovim-fos*/ && dpkg-buildpackage -rfakeroot -uc -us'
372 whitelist_externals = sh
373
374 #######################################################################################
375 [testenv:dist_ro_vim_opennebula]
376 deps = {[testenv]deps}
377 -r{toxinidir}/requirements-dist.txt
378 skip_install = true
379 changedir = {toxinidir}/RO-VIM-opennebula
380 commands =
381 sh -c 'rm -rf deb_dist dist osm_rovim_opennebula.egg-info osm_rovim_opennebula*.tar.gz'
382 python3 setup.py --command-packages=stdeb.command sdist_dsc
383 sh -c 'cd deb_dist/osm-rovim-opennebula*/ && dpkg-buildpackage -rfakeroot -uc -us'
384 whitelist_externals = sh
385
386 #######################################################################################
387 [testenv:dist_ro_vim_openstack]
388 deps = {[testenv]deps}
389 -r{toxinidir}/requirements-dist.txt
390 skip_install = true
391 changedir = {toxinidir}/RO-VIM-openstack
392 commands =
393 sh -c 'rm -rf deb_dist dist osm_rovim_openstack.egg-info osm_rovim_openstack*.tar.gz'
394 python3 setup.py --command-packages=stdeb.command sdist_dsc
395 sh -c 'cd deb_dist/osm-rovim-openstack*/ && dpkg-buildpackage -rfakeroot -uc -us'
396 whitelist_externals = sh
397
398 #######################################################################################
399 [testenv:dist_ro_vim_openvim]
400 deps = {[testenv]deps}
401 -r{toxinidir}/requirements-dist.txt
402 skip_install = true
403 changedir = {toxinidir}/RO-VIM-openvim
404 commands =
405 sh -c 'rm -rf deb_dist dist osm_rovim_openvim.egg-info osm_rovim_openvim*.tar.gz'
406 python3 setup.py --command-packages=stdeb.command sdist_dsc
407 sh -c 'cd deb_dist/osm-rovim-openvim*/ && dpkg-buildpackage -rfakeroot -uc -us'
408 whitelist_externals = sh
409
410 #######################################################################################
411 [testenv:dist_ro_vim_vmware]
412 deps = {[testenv]deps}
413 -r{toxinidir}/requirements-dist.txt
414 skip_install = true
415 changedir = {toxinidir}/RO-VIM-vmware
416 commands =
417 sh -c 'rm -rf deb_dist dist osm_rovim_vmware.egg-info osm_rovim_vmware*.tar.gz'
418 python3 setup.py --command-packages=stdeb.command sdist_dsc
419 sh -c 'cd deb_dist/osm-rovim-vmware*/ && dpkg-buildpackage -rfakeroot -uc -us'
420 whitelist_externals = sh
421
422 #######################################################################################
423 [flake8]
424 ignore =
425 W291,
426 W293,
427 W503,
428 W605,
429 E123,
430 E125,
431 E203,
432 E226,
433 E241
434 exclude =
435 .git,
436 __pycache__,
437 .tox,
438 max-line-length = 120
439 show-source = True
440 builtins = _