| ####################################################################################### |
| # 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, pylint, pylint-webhook |
| |
| [tox:jenkins] |
| toxworkdir = /tmp/.tox |
| |
| [testenv] |
| usedevelop = True |
| basepython = python3.10 |
| setenv = VIRTUAL_ENV={envdir} |
| PYTHONDONTWRITEBYTECODE = 1 |
| deps = -r{toxinidir}/requirements.txt |
| parallel_show_output = true |
| |
| |
| ####################################################################################### |
| [testenv:black] |
| deps = black==25.12.0 |
| skip_install = true |
| commands = |
| black --check --diff src setup.py |
| black --check --diff osm_webhook_translator |
| |
| |
| ####################################################################################### |
| [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_ngsa' |
| nose2 -C --coverage osm_webhook_translator -s osm_webhook_translator |
| sh -c 'mv .coverage .coverage_webhook_translator' |
| coverage report --omit='*tests*' |
| coverage html -d ./cover --omit='*tests*' |
| coverage xml -o coverage.xml --omit='*tests*' |
| |
| |
| ####################################################################################### |
| [testenv:flake8] |
| deps = flake8==7.0.0 |
| flake8-import-order |
| setuptools>=61 |
| setuptools_scm==8.2.0 |
| commands = |
| flake8 src setup.py |
| flake8 osm_webhook_translator |
| |
| |
| ####################################################################################### |
| [testenv:pylint] |
| deps = {[testenv]deps} |
| -r{toxinidir}/requirements-dev.txt |
| -r{toxinidir}/requirements-test.txt |
| pylint |
| skip_install = true |
| commands = |
| pylint -E src setup.py |
| |
| |
| [testenv:pylint-webhook] |
| changedir = {toxinidir}/osm_webhook_translator |
| deps = -r{toxinidir}/osm_webhook_translator/requirements.txt |
| pylint |
| skip_install = true |
| commands = |
| pylint -E src setup.py |
| |
| |
| ####################################################################################### |
| [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.13.0 |
| 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 --resolver=backtracking --no-header $UNSAFE $file ;\ |
| out=`echo $file | sed 's/.in/.txt/'` ; \ |
| sed -i -e '1 e head -16 tox.ini' $out ;\ |
| done" |
| bash -c "for file in osm_webhook_translator/requirements*.in ; do \ |
| UNSAFE="" ; \ |
| if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \ |
| pip-compile --resolver=backtracking -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_ng_sa] |
| deps = {[testenv]deps} |
| -r{toxinidir}/requirements-dist.txt |
| allowlist_externals = sh |
| 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' |
| |
| |
| ####################################################################################### |
| [testenv:dist_webhook_translator] |
| deps = -r{toxinidir}/osm_webhook_translator/requirements.txt |
| -r{toxinidir}/osm_webhook_translator/requirements-dist.txt |
| allowlist_externals = sh |
| commands = |
| sh -c 'cp src/osm_ngsa/_version.py osm_webhook_translator/src/osm_webhook_translator/_version.py' |
| sh -c 'cd osm_webhook_translator && cp requirements.txt src/osm_webhook_translator/requirements.txt' |
| sh -c 'cd osm_webhook_translator && cp README.rst src/osm_webhook_translator/README.rst' |
| sh -c 'cd osm_webhook_translator && python3 setup.py --command-packages=stdeb.command sdist_dsc' |
| sh -c 'cd osm_webhook_translator/deb_dist/osm-webhook-translator*/ && dpkg-buildpackage -rfakeroot -uc -us' |
| sh -c 'rm osm_webhook_translator/src/osm_webhook_translator/requirements.txt' |
| sh -c 'rm osm_webhook_translator/src/osm_webhook_translator/README.rst' |
| |
| |
| ####################################################################################### |
| [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 |