# 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:py312] deps = {[testenv:py3]deps} commands = {toxinidir}/run_tox.sh py312 {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 # Pin httpx version due to bug https://github.com/gtsystem/lightkube/issues/78 httpx>=0.24.0,<0.28.0 lightkube 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