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

[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
# Note the hash seed is set to 0 until nova can be tested with a
# random hash seed successfully.
setenv =
    VIRTUAL_ENV={envdir}
    DISCOVER_DIRECTORY=sahara/tests/unit
    PYTHONHASHSEED=0
deps =
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/test-requirements.txt
commands = python setup.py test --slowest --testr-args="{posargs}"

[testenv:integration]
# Note the hash seed is set to 0 until nova can be tested with a
# random hash seed successfully.
setenv =
    VIRTUAL_ENV={envdir}
    DISCOVER_DIRECTORY=sahara/tests/integration
    PYTHONHASHSEED=0
commands = python setup.py test --slowest --testr-args="{posargs}"

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

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

[testenv:pep8]
commands =
    flake8 {posargs}
    {toxinidir}/tools/config/check_uptodate.sh

[testenv:venv]
commands = {posargs}

[testenv:docs]
commands =
    rm -rf doc/html doc/build
    rm -rf doc/source/apidoc doc/source/api
    python setup.py build_sphinx

[testenv:pylint]
setenv = VIRTUAL_ENV={envdir}
commands = bash tools/lintstack.sh

[flake8]
show-source = true
builtins = _
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,tools

[hacking]
local-check-factory = sahara.utils.hacking.checks.factory
