[tox]
distribute = False
envlist = py35,py27,pep8
minversion = 2.0
skipsdist = True

[testenv]
usedevelop = True
install_command =
    {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
setenv =
    VIRTUAL_ENV={envdir}
    BRANCH_NAME=master
    CLIENT_NAME=python-cinderclient
    OS_TEST_PATH=./cinderclient/tests/unit
    OS_STDOUT_CAPTURE=1
    OS_STDERR_CAPTURE=1
    OS_TEST_TIMEOUT=60
passenv = *_proxy *_PROXY

deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands = find . -type f -name "*.pyc" -delete
           ostestr {posargs}
whitelist_externals = find

[testenv:pep8]
commands = flake8

[testenv:pylint]
deps = -r{toxinidir}/requirements.txt
       pylint==0.26.0
commands = bash tools/lintstack.sh
whitelist_externals = bash

[testenv:venv]
commands = {posargs}

[testenv:cover]
setenv =
    {[testenv]setenv}
    PYTHON=coverage run --source cinderclient --parallel-mode
commands =
    stestr run {posargs}
    coverage combine
    coverage html -d cover
    coverage xml -o cover/coverage.xml

[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]
commands = ostestr {posargs}
setenv =
  {[testenv]setenv}
  OS_TEST_PATH = ./cinderclient/tests/functional
  OS_VOLUME_API_VERSION = 2
# The OS_CACERT environment variable should be passed to the test
# environments to specify a CA bundle file to use in verifying a
# TLS (https) server certificate.
passenv = OS_*

[flake8]
show-source = True
ignore = H404,H405,E122,E123,E128,E251
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
