c94e6c0a07
Due to Tox override mechanism, both py27 and py34 envs do not pass env variables defined in testenv to tox_install.sh script. Hence, BRANCH_NAME is not defined and master code of Horizon is always installed. While it's not critical for sahara-dashboard master branch, it's crucial for stable branches, especially stable/newton where running tox -e py27 fails due to fresh Horizon and old its dependencies. This patch adds inheritance for py27 and py34 envs, so the env variables defined in testenv will be also defined in these both envs. Change-Id: I246049d29024b64b50dcdc153a809c9649716287
82 lines
2.3 KiB
INI
82 lines
2.3 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = py35,py34,py27,pep8,py27dj18
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/newton} {opts} {packages}
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
BRANCH_NAME=stable/newton
|
|
CLIENT_NAME=sahara-dashboard
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
os:openstack/horizon:horizon
|
|
whitelist_externals = /bin/bash
|
|
commands = /bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:py27]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
DJANGO_SETTINGS_MODULE=sahara_dashboard.test.settings
|
|
|
|
[testenv:py34]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
DJANGO_SETTINGS_MODULE=sahara_dashboard.test.settings
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
# Django-1.8 is LTS
|
|
[testenv:py27dj18]
|
|
basepython = python2.7
|
|
commands = pip install django>=1.8,<1.9
|
|
/bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:py27dj19]
|
|
basepython = python2.7
|
|
commands = pip install django>=1.9,<1.10
|
|
/bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:py27dj110]
|
|
basepython = python2.7
|
|
commands = pip install django --pre --upgrade
|
|
/bin/bash run_tests.sh -N --no-pep8 {posargs}
|
|
|
|
[testenv:py27integration]
|
|
basepython = python2.7
|
|
commands = /bin/bash run_tests.sh -N --integration --selenium-headless {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:cover]
|
|
commands = python setup.py testr --coverage --testr-args='{posargs}'
|
|
|
|
[testenv:docs]
|
|
commands = python setup.py build_sphinx
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
ignore = E123,E125,H405
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,.ropeproject,tools
|
|
|
|
[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.
|
|
deps = bindep
|
|
commands = bindep test
|