X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=installers%2Fcharm%2Fkeystone%2Ftox.ini;h=781f74ee34cad376635c2324c260fca7460e1cf6;hb=95ba7e1641316616ce5a9442d485753456ff9525;hp=cff5193bba967c4b78661bb1d6066d50ea137003;hpb=b46cc8f7d76eb8032b3b4b9236b8b6accc86967d;p=osm%2Fdevops.git diff --git a/installers/charm/keystone/tox.ini b/installers/charm/keystone/tox.ini index cff5193b..781f74ee 100644 --- a/installers/charm/keystone/tox.ini +++ b/installers/charm/keystone/tox.ini @@ -1,47 +1,82 @@ # Copyright 2020 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 +# 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 +# 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. +# 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 = pep8 skipsdist = True +envlist = unit, lint +sitepackages = False +skip_missing_interpreters = False [testenv] -setenv = VIRTUAL_ENV={envdir} - PYTHONHASHSEED=0 -install_command = - pip install {opts} {packages} +basepython = python3.8 +setenv = + PYTHONHASHSEED=0 + PYTHONPATH = {toxinidir}/src + CHARM_NAME = keystone [testenv:build] -basepython = python3 passenv=HTTP_PROXY HTTPS_PROXY NO_PROXY -whitelist_externals = charmcraft - rm - unzip +whitelist_externals = + charmcraft + rm + unzip commands = - rm -rf release - charmcraft build - unzip keystone.charm -d release + rm -rf release keystone.charm + charmcraft build + unzip keystone.charm -d release + +[testenv:unit] +commands = + coverage erase + stestr run --slowest --test-path=./tests --top-dir=./ + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml + coverage report +deps = + coverage + stestr + mock + ops + -rrequirements.txt +setenv = + {[testenv]setenv} + PYTHON=coverage run [testenv:lint] -basepython = python3 deps = - black - yamllint - flake8 + black + yamllint + flake8 commands = - black --check --diff . --exclude "build/|.tox/|mod/|lib/" - yamllint . - flake8 . --max-line-length=100 --exclude "build/ .tox/ mod/ lib/" + black --check --diff . --exclude "build/|.tox/|mod/|lib/|release/" + yamllint . + flake8 . --max-line-length=100 --ignore="E501,W503,W504,F722" --exclude "build/ .tox/ mod/ lib/ release/" -[testenv:venv] -commands = {posargs} +[coverage:run] +branch = True +concurrency = multiprocessing +parallel = True +source = + . +omit = + .tox/* + tests/*