# Copyright 2021 Canonical Ltd. # # 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. # # For those usages not covered by the Apache License, Version 2.0 please # contact: legal@canonical.com # # To get in touch with the maintainers, please contact: # osm-charmers@lists.launchpad.net ## ####################################################################################### [tox] envlist = flake8, cover, pylint, safety, yamllint skipsdist = True [testenv] basepython = python3.8 setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 PYTHONPATH = {toxinidir}/src deps = -r{toxinidir}/requirements.txt ####################################################################################### [testenv:cover] deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt commands = sh -c 'rm -f nosetests.xml' coverage erase nose2 -C --coverage src coverage report --omit='*tests*' coverage html -d ./cover --omit='*tests*' coverage xml -o coverage.xml --omit=*tests* whitelist_externals = sh ####################################################################################### [testenv:safety] setenv = LC_ALL=C.UTF-8 LANG=C.UTF-8 deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt commands = - safety check --full-report ####################################################################################### [testenv:flake8] deps = flake8 commands = flake8 src/ tests/ ####################################################################################### [testenv:pylint] deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt pylint commands = pylint -E src ####################################################################################### [testenv:black] deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt black commands = black --check --diff . --exclude "build/|.tox/|mod/|lib/" ####################################################################################### [testenv:yamllint] deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt yamllint commands = yamllint . ####################################################################################### [testenv:build] passenv=HTTP_PROXY HTTPS_PROXY NO_PROXY deps = {[testenv]deps} -r{toxinidir}/requirements-test.txt charmcraft whitelist_externals = charmcraft cp commands = charmcraft build cp -r build release ####################################################################################### [flake8] ignore = W291, W293, E123, E125, E226, E241, exclude = .git, __pycache__, .tox, max-line-length = 120 show-source = True builtins = _