Files
murano/tox.ini
Elod Illes 43997de7bd [stable-only] Cap bandit and fix constraints
The 1.6.3 [1] release has dropped support for py2 [2] but the release
is faulty and pip still picks it up for py2 [3][4], so cap to 1.6.2
when using py2.

With the introduction of the new dependency resolver in 20.3 pip the
lower-constraints job starts to fail as now the constraints are working
as they should. Multiple fixes needed:
* lower-constraints job uses the [testenv]install_command, so it gives
  both the upper-constraints and lower-constraints, which causes the
  job to fail. As an easy fix install_command is added to this target
  without the upper constraints.
* duplicate stestr constraint removed
* cryptography lower constraint is bumped as with version 2.1 the
  new resolver of pip takes hours to install the packages
* contradicting hacking version replaced (in lower-constraints.txt to
  match with test-requirements.txt), which pulls in newer flake8, too
* lower-constraints test job failed with error message:
  "[..] unexpected keyword argument 'barbican_endpoint_type'"
  which is due to old version of castellan.

[1] https://github.com/PyCQA/bandit/releases/tag/1.6.3
[2] https://github.com/PyCQA/bandit/pull/615
[3] https://github.com/PyCQA/bandit/issues/663
[4] https://github.com/PyCQA/bandit/issues/665

Change-Id: I4b33c2544c911bd68ed8af4c754c9f5dc0c93be8
2021-03-20 17:35:51 +01:00

142 lines
3.8 KiB
INI

[tox]
envlist = py37,py27,pep8
minversion = 2.0
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = rm -f .testrepository/times.dbm
stestr run {posargs}
whitelist_externals = bash
find
rm
bandit
[testenv:py27-queens]
install_command = pip install -chttps://releases.openstack.org/constraints/upper/queens {opts} {packages}
[testenv:murano-test-runner]
basepython = python3
commands = murano-test-runner {posargs}
[testenv:pep8]
basepython = python3
commands =
flake8 {posargs}
{[testenv:bandit]commands}
[testenv:bandit]
basepython = python3
commands = bandit -c bandit.yaml -r murano -x tests -n 5 -ll
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:cover]
basepython = python3
setenv =
{[testenv]setenv}
PYTHON=coverage run --source murano --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:debug]
basepython = python3
commands =
find . -type f -name "*.pyc" -delete
oslo_debug_helper {posargs}
[testenv:docs]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
[testenv:pdf-docs]
basepython = python3
deps = {[testenv:docs]deps}
whitelist_externals =
make
commands =
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
[testenv:pyflakes]
basepython = python3
deps = flake8
commands = flake8
[testenv:pylint]
basepython = python3
setenv = VIRTUAL_ENV={envdir}
commands = bash tools/lintstack.sh
[testenv:genconfig]
basepython = python3
commands =
oslo-config-generator --config-file etc/oslo-config-generator/murano.conf
[testenv:gencfconfig]
basepython = python3
commands =
oslo-config-generator --config-file etc/oslo-config-generator/murano-cfapi.conf
[testenv:genpolicy]
basepython = python3
commands = oslopolicy-sample-generator --config-file etc/oslo-policy-generator/murano-policy-generator.conf
[testenv:releasenotes]
basepython = python3
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:api-ref]
basepython = python3
# This environment is called from CI scripts to test and publish
# the API Ref to docs.openstack.org.
deps = -r{toxinidir}/doc/requirements.txt
commands =
rm -rf api-ref/build
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
whitelist_externals = rm
[flake8]
show-source = true
builtins = _
# W605 invalid escape sequence
ignore = W605,W504,W503,E123,H405
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
[hacking]
local-check-factory = murano.hacking.checks.factory
import_exceptions = oslo.db.sqlalchemy.test_base,
murano.common.i18n
[testenv:bindep]
basepython = python3
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
deps = bindep
commands = bindep test
usedevelop = False
[testenv:lower-constraints]
install_command = pip install {opts} {packages}
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt