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

[testenv]
usedevelop = True

install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U {opts} {packages}
whitelist_externals = find
setenv =
   VIRTUAL_ENV={envdir}
   LANG=en_US.UTF-8
   LANGUAGE=en_US
   LC_ALL=en_US.utf-8
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands =
 find . -type f -name "*.py[c|o]" -delete
 python setup.py testr --slowest --testr-args='{posargs} --concurrency=1'

[testenv:pep8]
usedevelop = False
deps =
commands = {toxinidir}/tools/pip-install-single-req.sh test-requirements.txt hacking
           flake8

[testenv:venv]
commands = {posargs}

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

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

[testenv:bench]
setenv =
   TEST_BENCHMARK=true
   VIRTUAL_ENV={envdir}
   LANG=en_US.UTF-8
   LANGUAGE=en_US
   LC_ALL=en_US.utf-8
commands = python setup.py testr --testr-args='test_benchmark {posargs} --concurrency=1'
           testr slowest --all

[flake8]
show-source = True
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,*thirdparty/*,CongressLexer.py,CongressParser.py,contrib/*

[testenv:genconfig]
deps =
commands = {toxinidir}/tools/pip-install-single-req.sh requirements.txt oslo.config
           oslo-config-generator --config-file=etc/congress-config-generator.conf

[testenv:docs]
setenv = PYTHONHASHSEED=0
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: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, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
deps = bindep
commands = bindep test
usedevelop = False
