releases/tox.ini
Doug Hellmann 333f81f738 configure tox to install editable versions of tools
This configuration makes it easier to work on changes to the tools.

Change-Id: Ic4afe2a811d6eb2163a2590a865b0f56d1474eb8
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-12-02 08:21:50 -05:00

80 lines
2.2 KiB
INI

[tox]
minversion = 1.6
envlist = validate,pep8,bashate
skipdist = True
[testenv]
usedevelop=True
passenv=ZUUL_CACHE_DIR
install_command = pip install -U {opts} {packages}
--allow-external lazr.authentication
--allow-insecure lazr.authentication
setenv =
VIRTUAL_ENV={envdir}
# launchpadlib 0.0.1.dev533 requires lazr.restfulclient, which is
# py2-only (as of lazr.restfulclient 0.13.1)
basepython = python2.7
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 =
yamllint -f parsable -c {toxinidir}/yamllint.yml deliverables
validate-request {posargs}
[testenv:list-changes]
setenv =
PYTHONUNBUFFERED=1
commands = list-changes {posargs}
[testenv:pep8]
deps = flake8>=2.2.4,<=2.4.1
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: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]
commands = sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
deps = .[sphinxext]
[flake8]
# H803 skipped on purpose per list discussion.
# 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,H803,E501
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