8c674de50e
Implement mypy in the most non-breaking way possible. There's still some changes of behavior that crept in, merely due to incorrect edge case handling. Charm libraries are generally well typed, include py.typed marker for all of the libraries, to allow mypy analyzing their usage. Change-Id: I7bda1913fa08dd4954a606526272ac80b45197cc Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
118 lines
2.3 KiB
INI
118 lines
2.3 KiB
INI
# Global tox file
|
|
|
|
# This file is used to invoke tox in individual charms
|
|
|
|
[tox]
|
|
skipsdist = True
|
|
envlist = pep8,py3
|
|
sitepackages = False
|
|
skip_missing_interpreters = False
|
|
minversion = 3.18.0
|
|
|
|
[testenv]
|
|
passenv =
|
|
HOME
|
|
allowlist_externals =
|
|
{toxinidir}/run_tox.sh
|
|
{toxinidir}/generate_token.sh
|
|
{toxinidir}/repository.py
|
|
|
|
[testenv:fetch]
|
|
basepython = python3
|
|
deps = pyyaml
|
|
commands =
|
|
python3 {toxinidir}/repository.py -v fetch-lib {posargs}
|
|
|
|
[testenv:fmt]
|
|
description = Apply coding style standards to code
|
|
deps =
|
|
black
|
|
isort
|
|
pyyaml
|
|
commands =
|
|
{toxinidir}/run_tox.sh fmt
|
|
|
|
[testenv:pep8]
|
|
description = Alias for lint
|
|
deps =
|
|
black
|
|
flake8
|
|
flake8-docstrings
|
|
flake8-copyright
|
|
flake8-builtins
|
|
pyproject-flake8
|
|
pep8-naming
|
|
isort
|
|
codespell
|
|
pyyaml
|
|
commands =
|
|
{toxinidir}/run_tox.sh pep8
|
|
|
|
[testenv:py3]
|
|
deps =
|
|
-r{toxinidir}/test-requirements.txt
|
|
pyyaml
|
|
commands =
|
|
{toxinidir}/run_tox.sh py3 {posargs}
|
|
|
|
[testenv:py310]
|
|
deps = {[testenv:py3]deps}
|
|
commands =
|
|
{toxinidir}/run_tox.sh py310 {posargs}
|
|
|
|
[testenv:py311]
|
|
deps = {[testenv:py3]deps}
|
|
commands =
|
|
{toxinidir}/run_tox.sh py311 {posargs}
|
|
|
|
[testenv:cover]
|
|
deps = {[testenv:py3]deps}
|
|
commands =
|
|
{toxinidir}/run_tox.sh cover {posargs}
|
|
|
|
[testenv:linters]
|
|
deps =
|
|
{[testenv:py3]deps}
|
|
mypy
|
|
commands =
|
|
{toxinidir}/run_tox.sh linters
|
|
|
|
[testenv:build]
|
|
basepython = python3
|
|
deps = pyyaml
|
|
commands =
|
|
{toxinidir}/run_tox.sh build {posargs}
|
|
|
|
[testenv:func-noop]
|
|
basepython = python3
|
|
deps =
|
|
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
|
|
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack
|
|
git+https://opendev.org/openstack/tempest.git#egg=tempest
|
|
commands =
|
|
functest-run-suite --help
|
|
|
|
[testenv:func]
|
|
basepython = python3
|
|
deps = {[testenv:func-noop]deps}
|
|
passenv =
|
|
HOME
|
|
PYTHONPATH
|
|
setenv =
|
|
# Set TEST_JUJU3 To unpin juju<3 in zaza
|
|
TEST_JUJU3 = 1
|
|
TEST_MODEL_SETTINGS = automatically-retry-hooks=true
|
|
TEST_MAX_RESOLVE_COUNT = 5
|
|
PYTHONPATH = {toxinidir}/tests/local:{env:PYTHONPATH}
|
|
commands =
|
|
python3 render_bundles.py
|
|
# Example: functest-run-suite --keep-model --smoke --test-directory=tests/set1
|
|
functest-run-suite --keep-model {posargs}
|
|
|
|
[testenv:generate-token]
|
|
basepython = python3
|
|
deps =
|
|
zuul-client
|
|
commands =
|
|
{toxinidir}/generate_token.sh
|