[tox]
minversion = 1.6
skipsdist = True
envlist = py26,py27,py34,pep8,bandit

[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
         OS_STDOUT_NOCAPTURE=False
         OS_STDERR_NOCAPTURE=False

deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands = python setup.py testr --slowest --testr-args='{posargs}'

[testenv:pep8]
commands =
  flake8

[testenv:venv]
commands = {posargs}

[testenv:cover]
commands = python setup.py testr --coverage --testr-args='{posargs}'

[tox:jenkins]
downloadcache = ~/cache/pip

[testenv:debug]
commands = oslo_debug_helper -t keystoneclient/tests {posargs}

[testenv:functional]
setenv = OS_TEST_PATH=./keystoneclient/tests/functional
passenv = OS_*

[testenv:bandit]
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -c bandit.yaml -r keystoneclient -n5 -p keystone_conservative

[flake8]
# H405: multi line docstring summary not separated with an empty line
ignore = H405
show-source = True
exclude = .venv,.tox,dist,doc,*egg,build,*openstack/common*

[testenv:docs]
commands=
    python setup.py build_sphinx

[hacking]
import_exceptions =
    keystoneclient.i18n
local-check-factory = keystoneclient.hacking.checks.factory
