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

[testenv]
setenv = VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands = python setup.py testr --testr-args='{posargs}'

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

[testenv:pep8]
commands =
  flake8 {posargs}
  flake8 --filename=manila* bin

[testenv:genconfig]
whitelist_externals = bash
commands =
  oslo-config-generator --config-file etc/oslo-config-generator/manila.conf

[testenv:venv]
commands = {posargs}

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

[testenv:cover]
commands =
  python setup.py testr --coverage \
    --testr-args='^(?!.*test.*coverage).*$'

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

[flake8]
# Following checks are ignored on purpose:
#
# H904 wrap long lines in parentheses instead of a backslash
# reason: removed in hacking (https://review.openstack.org/#/c/101701/)
ignore = H904
builtins = _
exclude = .venv,.tox,dist,doc,openstack,*egg

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