d2ed7dfead
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: I321a3555a4d9ae3dafbf1da39d165462933b8c44 Co-Authored-By: Shu Muto <shu.mutow@gmail.com>
141 lines
3.6 KiB
INI
141 lines
3.6 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
|
|
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} --settings=magnum_ui.test.settings
|
|
|
|
# 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]
|
|
commands = {posargs}
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
commands = flake8 {posargs}
|
|
|
|
[flake8]
|
|
exclude = .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 magnum_ui --settings=magnum_ui.test.settings {posargs} --exclude-dir=magnum_ui/test/integration_tests {posargs}
|
|
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 karma environment with python3.x 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}
|
|
|