
This allows scoping a tox run of py3* and cover enviroments to a single charm or ops-sunbeam, to facilitate faster testing. Usage examples: ``` tox -e py3 # test all tox -e py3 -- ops-sunbeam # just the ops sunbeam lib tox -e py3 -- barbican-k8s # only the barbican charm tox -e cover tox -e cover -- ops-sunbeam tox -e cover -- barbican-k8s ``` Closes-Bug: #2050840 Change-Id: Ieb3cd5ad85ee7a04a320cc41fbc3ad406e034a57
97 lines
1.9 KiB
INI
97 lines
1.9 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}/fetch_libs.sh
|
|
|
|
[testenv:fetch]
|
|
basepython = python3
|
|
deps =
|
|
commands =
|
|
{toxinidir}/fetch_libs.sh
|
|
|
|
[testenv:fmt]
|
|
description = Apply coding style standards to code
|
|
deps =
|
|
black
|
|
isort
|
|
commands =
|
|
{toxinidir}/run_tox.sh fmt
|
|
|
|
[testenv:pep8]
|
|
description = Alias for lint
|
|
deps =
|
|
black
|
|
flake8<6
|
|
flake8-docstrings
|
|
flake8-copyright
|
|
flake8-builtins
|
|
pyproject-flake8
|
|
pep8-naming
|
|
isort
|
|
codespell
|
|
commands =
|
|
{toxinidir}/run_tox.sh pep8
|
|
|
|
[testenv:py3]
|
|
deps =
|
|
-r{toxinidir}/test-requirements.txt
|
|
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:build]
|
|
basepython = python3
|
|
deps =
|
|
commands =
|
|
{toxinidir}/run_tox.sh build {posargs}
|
|
|
|
[testenv:func-noop]
|
|
basepython = python3
|
|
deps =
|
|
git+https://github.com/openstack-charmers/zaza.git@libjuju-3.1#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 =
|
|
PYTHONPATH
|
|
setenv =
|
|
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}
|