releases/tox.ini
Doug Hellmann f58b6b7eb9 set up for unit tests
Set up commands to run to execute new unit tests.

Ignore output from testr and coverage.

Rename the dist to match the package name so that the testr/coverage
integration works properly.

Add test-requirements.txt with some common testing dependencies.

Change-Id: Ic6f34df893f3981a9af6122456b9feb9c80b31dd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-11-28 12:47:17 +11:00

78 lines
2.2 KiB
INI

[tox]
minversion = 1.6
envlist = validate,pep8,bashate
[testenv]
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