0d59816c64
As we add more branches and tags we don't want to manually add tests for them (and we'd need to or the docs build will fail with an 'Untested Rule'. Use the redirections data that we use to generate the htaccess file to also generate the tests. Also I removed the debug output as it it's assertion is incorrect we can actually get the .htaccess file from the docs job \o/ Change-Id: Ib5d35169e68cd92b666a35705d8e36942bd28b89
95 lines
2.7 KiB
INI
95 lines
2.7 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = py35,validate,pep8,bashate,docs
|
|
skipdist = True
|
|
|
|
[testenv]
|
|
usedevelop=True
|
|
passenv=
|
|
ZUUL_CACHE_DIR
|
|
HOME
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
PYTHONUNBUFFERED=1
|
|
LOGDIR={envdir}/log
|
|
TMPDIR={envdir}/tmp
|
|
PYTHON=coverage run --source openstack_releases --parallel-mode
|
|
OS_STDOUT_CAPTURE=1
|
|
OS_STDERR_CAPTURE=1
|
|
OS_DEBUG=1
|
|
OS_LOG_CAPTURE=1
|
|
basepython = python3
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report --show-missing
|
|
|
|
[testenv:validate]
|
|
deps =
|
|
yamllint==1.4.1
|
|
commands =
|
|
{toxinidir}/tools/tox-log-command.sh {toxinidir}/tools/run_yamllint.sh
|
|
{toxinidir}/tools/tox-log-command.sh check-schema {posargs}
|
|
{toxinidir}/tools/tox-log-command.sh validate-request {posargs}
|
|
|
|
[testenv:list-changes]
|
|
commands =
|
|
{toxinidir}/tools/tox-log-command.sh list-changes {posargs}
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:bashate]
|
|
deps = bashate
|
|
whitelist_externals = bash
|
|
commands = bash -c "find {toxinidir} \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-type f \
|
|
-not -name \*~ \
|
|
-not -name \*.md \
|
|
-name \*.sh \
|
|
-print0 | xargs -0 bashate -v"
|
|
|
|
[testenv:aclmanager]
|
|
commands = python {toxinidir}/tools/aclmanager.py {posargs}
|
|
|
|
[testenv:membership_freeze_test]
|
|
commands = python {toxinidir}/tools/membership_freeze_test.py {posargs}
|
|
|
|
[testenv:venv]
|
|
deps = .[sphinxext]
|
|
commands = {posargs}
|
|
|
|
[testenv:history]
|
|
commands = {toxinidir}/tools/build_tag_history.sh {toxinidir}
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -v -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
|
whereto {toxinidir}/doc/build/html/.htaccess {toxinidir}/doc/build/redirect-tests.txt
|
|
|
|
[flake8]
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
# E501 skipped because some of the code files include templates
|
|
# that end up quite wide
|
|
show-source = True
|
|
ignore = E123,E125,E501,H405
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-*
|
|
|
|
[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
|