You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
5.8 KiB
202 lines
5.8 KiB
[tox] |
|
minversion = 2.0 |
|
envlist = py37,pep8 |
|
skipsdist = True |
|
|
|
[testenv] |
|
basepython = python3 |
|
usedevelop = True |
|
whitelist_externals = bash |
|
find |
|
rm |
|
setenv = |
|
VIRTUAL_ENV={envdir} |
|
PYTHONWARNINGS=default::DeprecationWarning |
|
OS_STDOUT_CAPTURE=1 |
|
OS_STDERR_CAPTURE=1 |
|
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} |
|
-r{toxinidir}/requirements.txt |
|
-r{toxinidir}/test-requirements.txt |
|
passenv = TEMPEST_* OS_TEST_* |
|
commands = |
|
find . -type f -name "*.py[c|o]" -delete |
|
rm -f .testrepository/times.dbm |
|
stestr run {posargs} |
|
|
|
[testenv:debug] |
|
commands = oslo_debug_helper -t magnum/tests/unit {posargs} |
|
|
|
[testenv:functional-k8s] |
|
sitepackages = True |
|
setenv = {[testenv]setenv} |
|
OS_TEST_PATH=./magnum/tests/functional/k8s |
|
OS_TEST_TIMEOUT=7200 |
|
deps = |
|
{[testenv]deps} |
|
commands = |
|
find . -type f -name "*.py[c|o]" -delete |
|
stestr run {posargs} |
|
|
|
[testenv:functional-k8s-ironic] |
|
sitepackages = True |
|
setenv = {[testenv]setenv} |
|
OS_TEST_PATH=./magnum/tests/functional/k8s_ironic |
|
OS_TEST_TIMEOUT=7200 |
|
deps = |
|
{[testenv]deps} |
|
commands = |
|
find . -type f -name "*.py[c|o]" -delete |
|
stestr run {posargs} |
|
|
|
[testenv:functional-k8s-coreos] |
|
sitepackages = True |
|
setenv = {[testenv]setenv} |
|
OS_TEST_PATH=./magnum/tests/functional/k8s_coreos |
|
OS_TEST_TIMEOUT=7200 |
|
deps = |
|
{[testenv]deps} |
|
commands = |
|
find . -type f -name "*.py[c|o]" -delete |
|
stestr run {posargs} |
|
|
|
[testenv:functional-swarm] |
|
sitepackages = True |
|
setenv = {[testenv]setenv} |
|
OS_TEST_PATH=./magnum/tests/functional/swarm |
|
OS_TEST_TIMEOUT=7200 |
|
deps = |
|
{[testenv]deps} |
|
commands = |
|
find . -type f -name "*.py[c|o]" -delete |
|
stestr run {posargs} |
|
|
|
[testenv:functional-swarm-mode] |
|
sitepackages = True |
|
setenv = {[testenv]setenv} |
|
OS_TEST_PATH=./magnum/tests/functional/swarm_mode |
|
OS_TEST_TIMEOUT=7200 |
|
deps = |
|
{[testenv]deps} |
|
commands = |
|
find . -type f -name "*.py[c|o]" -delete |
|
stestr run {posargs} |
|
|
|
[testenv:functional-mesos] |
|
sitepackages = True |
|
setenv = {[testenv]setenv} |
|
OS_TEST_PATH=./magnum/tests/functional/mesos |
|
OS_TEST_TIMEOUT=7200 |
|
deps = |
|
{[testenv]deps} |
|
commands = |
|
find . -type f -name "*.py[c|o]" -delete |
|
stestr run {posargs} |
|
|
|
[testenv:pep8] |
|
commands = |
|
doc8 -e .rst specs/ doc/source/ contrib/ CONTRIBUTING.rst HACKING.rst README.rst |
|
bash tools/flake8wrap.sh {posargs} |
|
bandit -r magnum -x tests -n5 -ll |
|
bash -c "find {toxinidir} \ |
|
-not \( -type d -name .?\* -prune \) \ |
|
-not \( -type d -name doc -prune \) \ |
|
-not \( -type d -name contrib -prune \) \ |
|
-type f \ |
|
-name \*.sh \ |
|
-print0 | xargs -0 bashate -v -iE006,E010,E042 -eE005" |
|
|
|
[testenv:venv] |
|
commands = {posargs} |
|
|
|
[testenv:bandit] |
|
deps = -r{toxinidir}/test-requirements.txt |
|
commands = bandit -r magnum -x tests -n5 -ll |
|
|
|
[testenv:cover] |
|
setenv = |
|
{[testenv]setenv} |
|
PYTHON=coverage run --source magnum --parallel-mode |
|
commands = {toxinidir}/tools/cover.sh {posargs} |
|
|
|
[testenv:docs] |
|
deps = -r{toxinidir}/doc/requirements.txt |
|
commands = sphinx-build -W --keep-going -b html doc/source doc/build/html |
|
|
|
[testenv:pdf-docs] |
|
basepython = python3 |
|
deps = {[testenv:docs]deps} |
|
whitelist_externals = |
|
make |
|
commands = |
|
sphinx-build -b latex doc/source doc/build/pdf |
|
make -C doc/build/pdf |
|
|
|
[testenv:genconfig] |
|
commands = |
|
oslo-config-generator --config-file etc/magnum/magnum-config-generator.conf |
|
|
|
[testenv:genpolicy] |
|
commands = |
|
oslopolicy-sample-generator --config-file etc/magnum/magnum-policy-generator.conf |
|
|
|
[flake8] |
|
# H106 Don’t put vim configuration in source files |
|
# H203 Use assertIs(Not)None to check for None |
|
# H904 Delay string interpolations at logging calls |
|
filename = *.py,app.wsgi |
|
enable-extensions = H106,H203,H904 |
|
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,tools,releasenotes |
|
|
|
[flake8:local-plugins] |
|
extension = |
|
M302 = checks:assert_equal_not_none |
|
M310 = checks:use_timeutils_utcnow |
|
M316 = checks:assert_true_isinstance |
|
M322 = checks:no_mutable_default_args |
|
M336 = checks:dict_constructor_with_list_copy |
|
M338 = checks:assert_equal_in |
|
M339 = checks:no_xrange |
|
M340 = checks:check_explicit_underscore_import |
|
M352 = checks:no_log_warn |
|
paths = ./magnum/hacking |
|
|
|
[testenv:pip-check-reqs] |
|
# do not install test-requirements as that will pollute the virtualenv for |
|
# determining missing packages |
|
# this also means that pip_check_reqs must be installed separately, outside |
|
# of the requirements.txt files |
|
deps = pip_check_reqs |
|
-rrequirements.txt |
|
commands=pip-missing-reqs -d --ignore-file=magnum/tests/* magnum |
|
|
|
[testenv:releasenotes] |
|
deps = -r{toxinidir}/doc/requirements.txt |
|
commands = |
|
rm -rf releasenotes/build |
|
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html |
|
|
|
[testenv:install-guide] |
|
commands = sphinx-build -a -E -W -d install-guide/build/doctrees --keep-going -b html install-guide/source install-guide/build/html |
|
|
|
[testenv:api-ref] |
|
deps = -r{toxinidir}/doc/requirements.txt |
|
commands = |
|
rm -rf api-ref/build |
|
sphinx-build -W --keep-going -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html |
|
|
|
[testenv:lower-constraints] |
|
|
|
deps = |
|
-c{toxinidir}/lower-constraints.txt |
|
-r{toxinidir}/test-requirements.txt |
|
-r{toxinidir}/requirements.txt |
|
|
|
# This environment can be used to quickly validate that all needed system |
|
# packages required to successfully execute test targets are installed |
|
[testenv:bindep] |
|
# Do not install any requirements. We want this to be fast and work even if |
|
# system dependencies are missing, since it's used to tell you what system |
|
# dependencies are missing! This also means that bindep must be installed |
|
# separately, outside of the requirements files. |
|
deps = bindep |
|
commands = bindep test
|
|
|