
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. To install horizon, check python3 version and set target directory in postinstall script on package.json. Change-Id: I181b2a204f6998c24aa188b83a66c596cfb44f1c Co-Authored-By: Shu Muto <shu.mutow@gmail.com>
143 lines
3.5 KiB
INI
143 lines
3.5 KiB
INI
[tox]
|
|
envlist = pep8,py27-local,py35-local,py3-dj111-local,eslint,karma-local,docs-local,releasenotes,lower-constraints-local
|
|
minversion = 2.3.2
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
NOSE_WITH_OPENSTACK=1
|
|
NOSE_OPENSTACK_COLOR=1
|
|
NOSE_OPENSTACK_RED=0.05
|
|
NOSE_OPENSTACK_YELLOW=0.025
|
|
NOSE_OPENSTACK_SHOW_ELAPSED=1
|
|
DJANGO_SETTINGS_MODULE=zaqar_ui.test.settings
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = python manage.py test {posargs}
|
|
|
|
# For installation of horizon on local
|
|
# NOTICE: this tox.ini requires horizon repository cloned in sibling directory.
|
|
[testenv:hz-local]
|
|
commands =
|
|
pip install -e ../horizon
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
commands = flake8 {posargs}
|
|
|
|
[flake8]
|
|
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,panel_template,dash_template,local_settings.py,*/local/*,*/test/test_plugins/*,.ropeproject,node_modules
|
|
max-complexity = 20
|
|
|
|
|
|
[testenv:cover]
|
|
basepython = python3
|
|
commands =
|
|
coverage erase
|
|
coverage run {toxinidir}/manage.py test zaqar_ui
|
|
coverage xml --omit '.tox/cover/*' -o 'cover/coverage.xml'
|
|
coverage html --omit '.tox/cover/*' -d 'cover/htmlcov'
|
|
|
|
# NOTE(shu-mutow): On CI infra, horizon will be installed
|
|
# according to job setting. but on local, we need to install
|
|
# horizon from master branch.
|
|
[testenv:py27]
|
|
basepython = python2.7
|
|
|
|
[testenv:py27-local]
|
|
basepython = python2.7
|
|
commands =
|
|
{[testenv:hz-local]commands}
|
|
{[testenv]commands}
|
|
|
|
[testenv:py35-local]
|
|
basepython = python3.5
|
|
commands =
|
|
{[testenv:hz-local]commands}
|
|
{[testenv]commands}
|
|
|
|
[testenv:py3-dj111]
|
|
basepython = python3
|
|
commands =
|
|
pip install django>=1.11,<2
|
|
{[testenv]commands}
|
|
|
|
[testenv:py3-dj111-local]
|
|
basepython = python3
|
|
commands =
|
|
{[testenv:hz-local]commands}
|
|
pip install django>=1.11,<2
|
|
{[testenv]commands}
|
|
|
|
[testenv:eslint]
|
|
basepython = python3
|
|
whitelist_externals =
|
|
npm
|
|
commands =
|
|
npm install
|
|
npm run lint
|
|
|
|
# NOTE(shu-mutow): The "postinstall" script on package.json will install horizon
|
|
# from master branch into python3.x environment for testing javascripts.
|
|
# Horizon from master is needed to be cloned into ../horizon on both local and CI.
|
|
[testenv:karma]
|
|
basepython = python3
|
|
whitelist_externals =
|
|
{[testenv:eslint]whitelist_externals}
|
|
commands =
|
|
npm install
|
|
npm run test
|
|
|
|
[testenv:karma-local]
|
|
basepython = python3
|
|
whitelist_externals =
|
|
{[testenv:eslint]whitelist_externals}
|
|
commands =
|
|
{[testenv:karma]commands}
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands=
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:docs-local]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv:docs]deps}
|
|
commands=
|
|
{[testenv:hz-local]commands}
|
|
{[testenv:docs]commands}
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv:docs]deps}
|
|
commands =
|
|
sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:lower-constraints]
|
|
basepython = python3
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv:lower-constraints-local]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv:lower-constraints]deps}
|
|
commands =
|
|
{[testenv:hz-local]commands}
|
|
{[testenv]commands}
|
|
|