6fca7a1f07
We've run into problems because we weren't maintaining older deliverable files as we extended the schema. This change moves schema validation out of the main validation command so it runs as a separate step and processes all deliverable files by default. The more complex validation rules are still only checked for files being modified in a given commit. Change-Id: I4b69ca3c59da6606cf2b27d05c8846223d52998a Signed-off-by: Doug Hellmann <doug@doughellmann.com>
86 lines
2.5 KiB
INI
86 lines
2.5 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
|
|
basepython = python3
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
python setup.py testr --coverage --testr-args='{posargs}'
|
|
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:venv]
|
|
deps = .[sphinxext]
|
|
commands = {posargs}
|
|
|
|
[testenv:history]
|
|
commands = {toxinidir}/tools/build_tag_history.sh {toxinidir}
|
|
|
|
[testenv:cover]
|
|
#commands = python setup.py testr --coverage --testr-args='{posargs}'
|
|
|
|
[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 -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
|
whereto {toxinidir}/doc/source/_extra/.htaccess {toxinidir}/doc/test/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
|