5563e4e68c
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. Change-Id: I4d1809663bcfe4539607cbf1e7040110b0cd46ea Signed-off-by: Doug Hellmann <doug@doughellmann.com>
145 lines
3.7 KiB
INI
145 lines
3.7 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]
|
|
basepython = python3
|
|
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-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:py36-local]
|
|
basepython = python3.6
|
|
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}
|
|
|