
To test UI plugins, we should install recent Horizon from master branch. Also, fixed eslint and karma. To run tox test easily before upload patchset, adds eslint, karma, docs and releasenotes to envlist. Change-Id: I82806631e7219eaa2372c2cd62b264056fbea64d
115 lines
3.4 KiB
INI
115 lines
3.4 KiB
INI
[tox]
|
|
envlist = pep8,py35,py35dj20,py27,eslint,karma,docs,releasenotes
|
|
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
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:pep8]
|
|
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]
|
|
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'
|
|
|
|
[testenv:py27]
|
|
commands =
|
|
# Clean-up env and install horizon from git
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} pre
|
|
# Run test
|
|
python manage.py test {posargs}
|
|
# Clean-up env except log
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} post
|
|
|
|
[testenv:py35]
|
|
basepython = python3.5
|
|
commands =
|
|
# Clean-up env and install horizon from git
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} pre
|
|
# Run test
|
|
python manage.py test {posargs}
|
|
# Clean-up env except log
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} post
|
|
|
|
[testenv:py35dj20]
|
|
basepython = python3.5
|
|
commands =
|
|
# Clean-up env and install horizon from git
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} pre
|
|
# Run test
|
|
pip install django>=2.0,<2.1
|
|
python manage.py test {posargs}
|
|
# Clean-up env except log
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} post
|
|
|
|
[testenv:eslint]
|
|
whitelist_externals =
|
|
npm
|
|
commands =
|
|
# Clean-up env and install horizon from git
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} pre
|
|
# Run test
|
|
npm install
|
|
npm run lint
|
|
# Clean-up env except log
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} post
|
|
|
|
[testenv:karma]
|
|
whitelist_externals =
|
|
npm
|
|
commands =
|
|
# Clean-up env and install horizon from git
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} pre
|
|
# Run test
|
|
npm install
|
|
npm run test
|
|
# Clean-up env except log
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} post
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
# Clean-up env and install horizon from git
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} pre
|
|
# Run test
|
|
python setup.py build_sphinx
|
|
# Clean-up env except log
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} post
|
|
|
|
[testenv:releasenotes]
|
|
commands =
|
|
# Clean-up env and install horizon from git
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} pre
|
|
# Run test
|
|
sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
# Clean-up env except log
|
|
{toxinidir}/tools/tox_helper.sh {envname} {basepython} post
|
|
|
|
[testenv:lower-constraints]
|
|
basepython = python3
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|