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

[testenv]
usedevelop = True
install_command = pip install -U --force-reinstall {opts} {packages}
setenv = VIRTUAL_ENV={envdir}

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}

[testenv:pylint]
commands = bash tools/lintstack.sh

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

[testenv:venv]
commands = {posargs}

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

[flake8]
# E125 is deliberately excluded. See https://github.com/jcrocholl/pep8/issues/126
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301

ignore = E125,E251
exclude =  .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools

[hacking]

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

[testenv]
usedevelop = True
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U --force-reinstall {opts} {packages}
setenv = VIRTUAL_ENV={envdir}

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}

[testenv:pylint]
commands = bash tools/lintstack.sh

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

[testenv:venv]
commands = {posargs}

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

[flake8]
# E125 is deliberately excluded. See https://github.com/jcrocholl/pep8/issues/126
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301

ignore = E125,E251
exclude =  .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools

[hacking]

Use the openstack upper requirements
Use the openstack upper requirements

If the requirements and test requirements are not pinned,
there can be failures when the pypi repos are updates with packages
that are not backwards compatible.

By using OpenStack's upper requirements, this issue is mitigated.

Change-Id: I96b7f810644c3179979057f7e1f137b12e487f16
