9c3937f7a1
All OpenStack Charms now contain identical tox.ini files, not to be modified or made unique within each charm repo. This is to ensure consistency across charm repos in tox target naming, approach and purpose, also giving the charm dev and test experience additional consistency. Also create empty dirs with .keep files where necessary. Some classic charms have actions and/or lib dirs, and some do not. In all classic charms, flake will now check those dirs to ensure lint coverage of existing or future content. Change-Id: I8fe6aac394448a090e58957ed0ccbd37f8481efc
81 lines
2.4 KiB
INI
81 lines
2.4 KiB
INI
# Classic charm: ./tox.ini
|
|
# This file is managed centrally by release-tools and should not be modified
|
|
# within individual charm repos.
|
|
[tox]
|
|
envlist = pep8,py27
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
CHARM_DIR={envdir}
|
|
AMULET_SETUP_TIMEOUT=2700
|
|
install_command =
|
|
pip install --allow-unverified python-apt {opts} {packages}
|
|
commands = ostestr {posargs}
|
|
whitelist_externals = juju
|
|
passenv = HOME TERM AMULET_*
|
|
|
|
[testenv:py27]
|
|
basepython = python2.7
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:pep8]
|
|
basepython = python2.7
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = flake8 {posargs} hooks unit_tests tests actions lib
|
|
charm-proof
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:func27-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:func27]
|
|
# 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:func27-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-xenial-mitaka --no-destroy
|
|
|
|
[testenv:func27-dfs]
|
|
# Charm Functional Test
|
|
# Run all deploy-from-source tests 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 "dfs-*" --no-destroy
|
|
|
|
[testenv:func27-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
|