X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Fpla%2Ftox.ini;h=32d78d3bd52264e6bb174c193d636150c3ba8e6d;hb=95ba7e1641316616ce5a9442d485753456ff9525;hp=678a5ec5048156bcdcf038a346ba6bafa7dce290;hpb=68faf8d30c3e08ca7dc1974281ade474f6f815b7;p=osm%2Fdevops.git diff --git a/installers/charm/pla/tox.ini b/installers/charm/pla/tox.ini index 678a5ec5..32d78d3b 100644 --- a/installers/charm/pla/tox.ini +++ b/installers/charm/pla/tox.ini @@ -1,67 +1,81 @@ -# Copyright 2020 Canonical Ltd. +# 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 -whitelist_externals = juju -passenv = HOME TERM CS_API_* OS_* AMULET_* -install_command = - pip install {opts} {packages} - +basepython = python3.8 +setenv = + PYTHONHASHSEED=0 + PYTHONPATH = {toxinidir}/src + CHARM_NAME = pla [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 pla.charm -d release + rm -rf release pla.charm + charmcraft build + unzip pla.charm -d release -[testenv:black] -basepython = python3 -deps = - black - yamllint +[testenv:unit] commands = - black --check --diff src - yamllint . - -[testenv:pep8] -basepython = python3 -deps=charm-tools -commands = charm-proof + 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 +setenv = + {[testenv]setenv} + PYTHON=coverage run -[testenv:func-noop] -basepython = python3 +[testenv:lint] +deps = + black + yamllint + flake8 commands = - true - -[testenv:func] -basepython = python3 -commands = functest-run-suite - -[testenv:func-smoke] -basepython = python3 -commands = functest-run-suite --keep-model --smoke + 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/*