105 lines
3.0 KiB
INI
105 lines
3.0 KiB
INI
[tox]
|
|
envlist = pep8,py36,py39
|
|
minversion = 3.18.0
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
BRANCH_NAME=master
|
|
CLIENT_NAME=masakari-dashboard
|
|
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:TOX_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=masakaridashboard.test.settings --verbosity 2
|
|
|
|
[testenv:linters]
|
|
skip_install = True
|
|
deps =
|
|
{[testenv:pep8]deps}
|
|
{[testenv:bandit]deps}
|
|
commands =
|
|
{[testenv:pep8]commands}
|
|
{[testenv:bandit]commands}
|
|
|
|
[testenv:pep8]
|
|
skip_install = True
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
hacking
|
|
commands =
|
|
flake8 {posargs}
|
|
|
|
[testenv:bandit]
|
|
skip_install = True
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
bandit
|
|
commands =
|
|
bandit -r masakaridashboard
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
commands =
|
|
coverage erase
|
|
coverage run {toxinidir}/manage.py test masakaridashboard --settings=masakaridashboard.test.settings {posargs}
|
|
coverage xml --omit '.tox/cover/*' -o 'cover/coverage.xml'
|
|
coverage html --omit '.tox/cover/*' -d 'cover/htmlcov'
|
|
|
|
[testenv:eslint]
|
|
allowlist_externals = npm
|
|
commands =
|
|
npm install
|
|
npm run postinstall
|
|
npm run lint
|
|
|
|
[testenv:karma]
|
|
# NOTE(shu-mutou): Until PhantomJS setup get reliable, we use
|
|
# Chromium for JS test. And npm can't launch Chromium via tox.
|
|
#allowlist_externals = npm
|
|
#commands =
|
|
# npm install
|
|
# npm run postinstall
|
|
# npm run test
|
|
allowlist_externals = echo
|
|
commands =
|
|
echo "npm can't launch Chromium via tox."
|
|
echo "nexecute `npm run test`"
|
|
|
|
[testenv:docs]
|
|
# We need to install horizon dependencies to build module references
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:releasenotes]
|
|
# There is no need to install horizon.
|
|
skip_install = True
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[flake8]
|
|
# F405 TEMPLATES may be undefined, or defined from star imports
|
|
# (because it is not easy to avoid this in openstack_dashboard.test.settings)
|
|
# (W503 and W504 are incompatible and we need to choose one of them.
|
|
# Existing codes follows W503, so we disable W504.)
|
|
ignore = F405,W504
|
|
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,node_modules
|
|
max-complexity = 20
|