####################################################################################### # Copyright ETSI Contributors and Others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### [tox] envlist = black, cover, flake8, pylint, safety [tox:jenkins] toxworkdir = /tmp/.tox [testenv] usedevelop = True basepython = python3 setenv = VIRTUAL_ENV={envdir} PYTHONDONTWRITEBYTECODE = 1 passenv = HOME deps = -r{toxinidir}/requirements.txt skip_install = true ####################################################################################### [testenv:black] commands = python3 -c 'print("Skipping due to generated code")' ####################################################################################### [testenv:cover] skip_install = false deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt commands = sh -c 'make clean' sh -c 'make models Q=""' sh -c 'rm -f nosetests.xml' coverage erase nose2 -C --coverage osm_im -s tests coverage report --omit='*tests*' coverage html -d ./cover --omit='*tests*' coverage xml -o coverage.xml --omit=*tests* whitelist_externals = sh ####################################################################################### [testenv:flake8] commands = python3 -c 'print("Skipping due to generated code")' ####################################################################################### [testenv:pylint] commands = python3 -c 'print("Skipping due to generated code")' ####################################################################################### [testenv:safety] setenv = LC_ALL=C.UTF-8 LANG=C.UTF-8 deps = {[testenv]deps} safety commands = - safety check --full-report ####################################################################################### [testenv:pip-compile] deps = pip-tools==5.5.0 commands = - sh -c 'for file in requirements*.in ; do pip-compile -rU --no-header $file ;\ out=`echo $file | sed "s/.in/.txt/"` ; \ head -16 tox.ini >> $out ;\ done' whitelist_externals = sh ####################################################################################### [testenv:dist] deps = {[testenv]deps} -r{toxinidir}/requirements-dist.txt # In the commands, we copy the requirements.txt to be presented as a source file (.py) # so it gets included in the .deb package for others to consume commands = sh -c 'make clean' sh -c 'make Q=""' sh -c 'cp requirements.txt osm_im/requirements.txt' python3 setup.py --command-packages=stdeb.command sdist_dsc sh -c 'cd deb_dist/osm-im*/ && dpkg-buildpackage -rfakeroot -uc -us' sh -c 'rm osm_im/requirements.txt' whitelist_externals = sh ####################################################################################### [flake8] ignore = W291, W293, E123, E125, E226, E241 exclude = .git, __pycache__, .tox, max-line-length = 120 show-source = True builtins = _