| ####################################################################################### |
| # 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, flake8 |
| |
| [tox:jenkins] |
| toxworkdir = /tmp/.tox |
| setenv = XDG_CACHE_HOME=/tmp/.cache |
| |
| [testenv] |
| usedevelop = True |
| basepython = python3 |
| setenv = VIRTUAL_ENV={envdir} |
| PYTHONDONTWRITEBYTECODE = 1 |
| deps = -r{toxinidir}/requirements.txt |
| parallel_show_output = true |
| |
| |
| ####################################################################################### |
| [testenv:black] |
| deps = black |
| skip_install = true |
| commands = |
| black --check --diff src setup.py |
| |
| |
| ####################################################################################### |
| [testenv:cover] |
| deps = {[testenv]deps} |
| -r{toxinidir}/requirements-dev.txt |
| -r{toxinidir}/requirements-test.txt |
| allowlist_externals = sh |
| commands = |
| sh -c 'rm -f nosetests.xml' |
| coverage erase |
| nose2 -C --coverage src -s src |
| sh -c 'mv .coverage .coverage_mon' |
| coverage report --omit='*tests*' |
| coverage html -d ./cover --omit='*tests*' |
| coverage xml -o coverage.xml --omit='*tests*' |
| |
| |
| ####################################################################################### |
| [testenv:flake8] |
| deps = flake8==5.0.4 |
| flake8-import-order |
| commands = |
| flake8 src setup.py |
| |
| |
| ####################################################################################### |
| [testenv:pylint] |
| deps = {[testenv]deps} |
| -r{toxinidir}/requirements-dev.txt |
| -r{toxinidir}/requirements-test.txt |
| pylint |
| skip_install = true |
| commands = |
| pylint -E src |
| |
| |
| ####################################################################################### |
| [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==6.6.2 |
| skip_install = true |
| allowlist_externals = |
| bash |
| [ |
| commands = |
| bash -c "for file in requirements*.in ; do \ |
| UNSAFE="" ; \ |
| if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \ |
| pip-compile -rU --no-header $UNSAFE $file ;\ |
| out=`echo $file | sed 's/.in/.txt/'` ; \ |
| sed -i -e '1 e head -16 tox.ini' $out ;\ |
| done" |
| |
| |
| ####################################################################################### |
| [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 'cp requirements.txt src/osm_ngsa/requirements.txt' |
| sh -c 'cp README.rst src/osm_ngsa/README.rst' |
| python3 setup.py --command-packages=stdeb.command sdist_dsc |
| sh -c 'cd deb_dist/osm-ngsa*/ && dpkg-buildpackage -rfakeroot -uc -us' |
| sh -c 'rm src/osm_ngsa/requirements.txt' |
| sh -c 'rm src/osm_ngsa/README.rst' |
| allowlist_externals = sh |
| |
| |
| ####################################################################################### |
| [flake8] |
| ignore = |
| W291, |
| W293, |
| W503, |
| W605, |
| E123, |
| E125, |
| E203, |
| E226, |
| E241, |
| E501, |
| exclude = |
| .git, |
| __pycache__, |
| .tox, |
| max-line-length = 120 |
| show-source = True |
| builtins = _ |
| import-order-style = google |