dd1b4d78fa
These updates, on the master branch, are to support testing the caracal packages and support of the charms for caracal. They do NOT lock the charms down, and don't change the testing branches to stable branches. Update unit-test to deal with Py3.11 which is run on Debian Buster and doesn't have /etc/lsb/release file (incorrect mocking issue). Change-Id: Icddaf9f7b091a09ef4627384cd349e43b34b1325
135 lines
3.7 KiB
INI
135 lines
3.7 KiB
INI
# Classic charm (with zaza): ./tox.ini
|
|
# This file is managed centrally by release-tools and should not be modified
|
|
# within individual charm repos. See the 'global' dir contents for available
|
|
# choices of tox.ini for OpenStack Charms:
|
|
# https://github.com/openstack-charmers/release-tools
|
|
#
|
|
# TODO: Distill the func test requirements from the lint/unit test
|
|
# requirements. They are intertwined. Also, Zaza itself should specify
|
|
# all of its own requirements and if it doesn't, fix it there.
|
|
[tox]
|
|
envlist = pep8,py3
|
|
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
|
|
sitepackages = False
|
|
# NOTE: Avoid false positives by not skipping missing interpreters.
|
|
skip_missing_interpreters = False
|
|
|
|
[testenv]
|
|
# We use tox mainly for virtual environment management for test requirements
|
|
# and do not install the charm code as a Python package into that environment.
|
|
# Ref: https://tox.wiki/en/latest/config.html#skip_install
|
|
skip_install = True
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
CHARM_DIR={envdir}
|
|
commands = stestr run --slowest {posargs}
|
|
allowlist_externals =
|
|
charmcraft
|
|
{toxinidir}/rename.sh
|
|
passenv =
|
|
HOME
|
|
TERM
|
|
CS_*
|
|
OS_*
|
|
TEST_*
|
|
deps =
|
|
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:build]
|
|
basepython = python3
|
|
deps =
|
|
# charmcraft clean is done to ensure that
|
|
# `tox -e build` always performs a clean, repeatable build.
|
|
# For faster rebuilds during development,
|
|
# directly run `charmcraft -v pack && ./rename.sh`.
|
|
commands =
|
|
charmcraft clean
|
|
charmcraft -v pack
|
|
{toxinidir}/rename.sh
|
|
charmcraft clean
|
|
|
|
[testenv:py310]
|
|
basepython = python3.10
|
|
deps =
|
|
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py3]
|
|
basepython = python3
|
|
deps =
|
|
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
deps = flake8==3.9.2
|
|
git+https://github.com/juju/charm-tools.git
|
|
commands = flake8 {posargs} hooks unit_tests tests actions lib files
|
|
charm-proof
|
|
|
|
[testenv:cover]
|
|
# Technique based heavily upon
|
|
# https://github.com/openstack/nova/blob/master/tox.ini
|
|
basepython = python3
|
|
deps =
|
|
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run
|
|
commands =
|
|
coverage erase
|
|
stestr run --slowest {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report
|
|
|
|
[coverage:run]
|
|
branch = True
|
|
concurrency = multiprocessing
|
|
parallel = True
|
|
source =
|
|
.
|
|
omit =
|
|
.tox/*
|
|
*/charmhelpers/*
|
|
unit_tests/*
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:func-noop]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --help
|
|
|
|
[testenv:func]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model
|
|
|
|
[testenv:func-smoke]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model --smoke
|
|
|
|
[testenv:func-dev]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model --dev
|
|
|
|
[testenv:func-target]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model --bundle {posargs}
|
|
|
|
[flake8]
|
|
ignore = E402,E226,W503,W504
|
|
exclude = */charmhelpers
|