python-novaclient/tox.ini
Sean Dague 04613efbcf Make novaclient functional tests use pretty tox
This makes local running of the tests much nicer as we can see the
progress of successful tests working around the testr issue of showing
no output until the end of the run.

Change-Id: I4adc965fd95b6e79a3ec26614d1c9f98262593b9
2016-08-12 06:34:21 -04:00

80 lines
2.3 KiB
INI

# noted to use py34 you need virtualenv >= 1.11.4
[tox]
envlist = py34,py27,pypy,pep8,docs
minversion = 1.6
skipsdist = True
[testenv]
usedevelop = True
# tox is silly... these need to be separated by a newline....
whitelist_externals = find
bash
install_command = pip install -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
find . -type f -name "*.pyc" -delete
bash tools/pretty_tox.sh '{posargs}'
# there is also secret magic in pretty_tox.sh which lets you run in a fail only
# mode. To do this define the TRACE_FAILONLY environmental variable.
[testenv:pep8]
commands = flake8 {posargs}
[testenv:bandit]
commands = bandit -r novaclient -n5 -x tests
[testenv:venv]
commands = {posargs}
[testenv:docs]
commands =
python setup.py build_sphinx
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:functional]
basepython = python2.7
passenv = OS_NOVACLIENT_TEST_NETWORK
setenv =
OS_TEST_PATH = ./novaclient/tests/functional
commands = bash tools/pretty_tox.sh '--concurrency=1 {posargs}'
[testenv:functional-py34]
basepython = python3.4
passenv = OS_NOVACLIENT_TEST_NETWORK
setenv =
OS_TEST_PATH = ./novaclient/tests/functional
commands = bash tools/pretty_tox.sh '--concurrency=1 {posargs}'
[testenv:cover]
commands = python setup.py testr --coverage --testr-args='{posargs}'
[flake8]
# Following checks should be enabled in the future.
#
# H404 multi line docstring should start without a leading new line
# H405 multi line docstring summary not separated with an empty line
#
# Following checks are ignored on purpose.
#
# Additional checks are also ignored on purpose: F811, F821
ignore = F811,F821,H404,H405
show-source = True
exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build,doc/source/conf.py,releasenotes
[hacking]
import_exceptions = novaclient.i18n
[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