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