# 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] skipsdist = True envlist = unit, lint sitepackages = False skip_missing_interpreters = False [testenv] basepython = python3 setenv = PYTHONHASHSEED=0 PYTHONPATH = {toxinidir}/src CHARM_NAME = prometheus [testenv:build] passenv=HTTP_PROXY HTTPS_PROXY NO_PROXY whitelist_externals = charmcraft rm unzip commands = rm -rf release prometheus.charm charmcraft build unzip prometheus.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 setenv = {[testenv]setenv} PYTHON=coverage run [testenv:lint] deps = black yamllint flake8 commands = black --check --diff . --exclude "build/|.tox/|mod/|lib/" yamllint . flake8 . --max-line-length=100 --ignore="E501,W503,W504,F722" --exclude "build/ .tox/ mod/ lib/" [coverage:run] branch = True concurrency = multiprocessing parallel = True source = . omit = .tox/* tests/*