99a9cf63ba
Change-Id: I9fecb63e7997099cb54737aa9fecc7777e67365f
122 lines
3.3 KiB
INI
122 lines
3.3 KiB
INI
# Classic charm (with amulet): ./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
|
|
[tox]
|
|
envlist = pep8,py3
|
|
skipsdist = True
|
|
# 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]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
CHARM_DIR={envdir}
|
|
AMULET_SETUP_TIMEOUT=5400
|
|
install_command =
|
|
pip install {opts} {packages}
|
|
commands = stestr run --slowest {posargs}
|
|
whitelist_externals = juju
|
|
passenv = HOME TERM AMULET_* CS_* OS_* TEST_*
|
|
|
|
[testenv:py3]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py35]
|
|
basepython = python3.5
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py36]
|
|
basepython = python3.6
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py37]
|
|
basepython = python3.7
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
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 = -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]
|
|
# DRY RUN - For Debug
|
|
basepython = python2.7
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" -n --no-destroy
|
|
|
|
[testenv:func]
|
|
# Charm Functional Test
|
|
# Run all gate tests which are +x (expected to always pass)
|
|
basepython = python2.7
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" --no-destroy
|
|
|
|
[testenv:func-smoke]
|
|
# Charm Functional Test
|
|
# Run a specific test as an Amulet smoke test (expected to always pass)
|
|
basepython = python2.7
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
bundletester -vl DEBUG -r json -o func-results.json gate-basic-bionic-stein --no-destroy
|
|
|
|
[testenv:func-dev]
|
|
# Charm Functional Test
|
|
# Run all development test targets which are +x (may not always pass!)
|
|
basepython = python2.7
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "dev-*" --no-destroy
|
|
|
|
[flake8]
|
|
ignore = E402,E226
|
|
exclude = */charmhelpers
|