#   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
#
#       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 = pep8
skipsdist = True

[testenv]
setenv = VIRTUAL_ENV={envdir}
         PYTHONHASHSEED=0
whitelist_externals = juju
passenv = HOME TERM CS_API_* OS_* AMULET_*
deps = -r{toxinidir}/test-requirements.txt
install_command =
  pip install {opts} {packages}

[testenv:black]
basepython = python3
deps =
    black
    yamllint
commands =
    black --check --diff src
    yamllint .

[testenv:pep8]
basepython = python3
deps=charm-tools
commands = charm-proof

[testenv:func-noop]
basepython = python3
commands =
    true

[testenv:func]
basepython = python3
commands = functest-run-suite

[testenv:func-smoke]
basepython = python3
commands = functest-run-suite --keep-model --smoke

[testenv:venv]
commands = {posargs}
