Use upper-constraints in tox test environments

This will force pip install to use the upper-constraints.txt specified
version of pip modules. When you don't do this, you are out on the
bleeding edge and become unstable everytime some python library in the
wide world changes in a way that you don't expect.

The releasenotes job has no constraints file, so override the install
command there.

This commit is being proposed on stable/liberty and therefore the
install command includes the clear designation of the branch. This is
because, on branches other than master, we need to be sure to get the
upper-constraints.txt file for that branch.

Change-Id: I5eae854d12c6048d1458ea0d2b1e47c4ff910544
Partial-bug: #1598906
This commit is contained in:
zhurong 2016-07-06 02:44:05 -04:00
parent e13334a65d
commit beb3a6256e
1 changed files with 13 additions and 1 deletions

14
tox.ini
View File

@ -5,7 +5,7 @@ skipsdist = True
[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/liberty} -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
NOSE_WITH_OPENSTACK=1
NOSE_OPENSTACK_COLOR=1
@ -24,9 +24,17 @@ sitepackages = False
commands = flake8
[testenv:venv]
# NOTE(from nova tox.ini by jaegerandi): This target does not use constraints
# because upstream infra does not yet support it. Once that's fixed, we can
# drop the install_command.
install_command = pip install -U --force-reinstall {opts} {packages}
commands = {posargs}
[testenv:cover]
# NOTE(from nova tox.ini by jaegerandi): This target does not use constraints
# because upstream infra does not yet support it. Once that's fixed, we can
# drop the install_command.
install_command = pip install -U --force-reinstall {opts} {packages}
commands = nosetests --cover-erase --cover-package=muranodashboard --with-xcoverage
[testenv:pyflakes]
@ -44,6 +52,10 @@ commands = nodeenv -p
downloadcache = ~/cache/pip
[testenv:releasenotes]
# NOTE(from nova tox.ini by jaegerandi): This target does not use constraints
# because upstream infra does not yet support it. Once that's fixed, we can
# drop the install_command.
install_command = pip install -U --force-reinstall {opts} {packages}
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[flake8]