deb-sahara-dashboard/tox.ini
Ihor Kalnytskyi caaa96f91f Reuse testenv env variables in py27/py35 envs
Due to Tox override mechanism, both py27 and py35 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 py35 envs, so the env variables
defined in testenv will be also defined in these both envs.

Change-Id: I246049d29024b64b50dcdc153a809c9649716287
2017-05-05 16:44:32 +03:00

82 lines
2.3 KiB
INI

[tox]
minversion = 1.6
envlist = py35,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} {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
BRANCH_NAME=master
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:py35]
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 -t sahara_dashboard/test {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