
Use zed-last tagged version of barbican-tempest-plugin. Moreover, a barbican-tempest-plugin patch removed zed version of some jobs [1]. This patch adds their definitions to barbican in the current branch. Jobs barbican-tempest-plugin-simple-crypto-secure-rbac and barbican-tempest-plugin-simple-crypto-secure-rbac are set as non-voting to unblock the gate. As soon as they are fixed we can set them back as voting. This patsh also includes (Icba7968657ac476861a4fe4cbffd05a728ca54b0): Fix functional tests This adds find to the allow list in tox. (cherry picked from commit 64eac2407155b86b68978479504dba653b7d51c0) (cherry picked from commit b38b21392ab3bba8df5be16730dda2e13c92e55c) Moreover, barbican-tox-functional needs another fix, because the upper constraints are not used for installing the barbican package itself, only for the installation for the dependencies. This patch adds requirements.txt to deps, so that all direct dependencies will be pre-installed with the correct, constrained version. [1] https://review.opendev.org/c/openstack/barbican-tempest-plugin/+/930820 Change-Id: I05d768b7eaec6a1048ed676bbbaef6fa5c42e54d
191 lines
5.6 KiB
INI
191 lines
5.6 KiB
INI
[tox]
|
|
minversion = 3.18.0
|
|
envlist = py39,py38,py36,pep8,docs
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
setenv =
|
|
PYTHON=coverage run --source barbican --parallel-mode
|
|
usedevelop = True
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/zed}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
commands =
|
|
oslo-config-generator --config-file etc/oslo-config-generator/barbican.conf --output-file etc/barbican/barbican.conf
|
|
/usr/bin/find . -type f -name "*.py[c|o]" -delete
|
|
rm -f .testrepository/times.dbm
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report -m
|
|
allowlist_externals = rm
|
|
|
|
[testenv:cover]
|
|
deps =
|
|
{[testenv]deps}
|
|
diff_cover
|
|
commands =
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
diff-cover --fail-under 100 --compare-branch master cover/coverage.xml
|
|
|
|
[testenv:releasenotes]
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:pep8]
|
|
sitepackages = False
|
|
commands =
|
|
doc8 {posargs}
|
|
flake8 {posargs}
|
|
# Run security linter
|
|
bandit -r barbican -x tests -n5 -s B105
|
|
|
|
[testenv:genconfig]
|
|
allowlist_externals = bash
|
|
envdir = {toxworkdir}/pep8
|
|
commands =
|
|
oslo-config-generator --config-file etc/oslo-config-generator/barbican.conf
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t barbican/tests {posargs}
|
|
|
|
[testenv:py3pep8]
|
|
# This hack is in place to allow us to run py3 based flake8
|
|
# without installing barbican.
|
|
install_command = /bin/echo {packages}
|
|
commands =
|
|
pip install "hacking>=3.0,<3.1.0"
|
|
flake8 barbican setup.py
|
|
|
|
[testenv:docs]
|
|
# This environment is called from CI scripts to test and publish
|
|
# the main docs to https://docs.openstack.org/barbican
|
|
description = Build main documentation
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/zed}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands=
|
|
rm -rf doc/build doc/build/doctrees
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
allowlist_externals = rm
|
|
|
|
[testenv:pdf-docs]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:api-guide]
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Guide to docs.openstack.org.
|
|
deps = {[testenv:docs]deps}
|
|
commands =
|
|
rm -rf api-guide/build
|
|
sphinx-build -W -b html -d api-guide/build/doctrees api-guide/source api-guide/build/html
|
|
|
|
[testenv:all-docs]
|
|
description = Build all documentation
|
|
deps = {[testenv:docs]deps}
|
|
commands=
|
|
{[testenv:docs]commands}
|
|
{[testenv:api-guide]commands}
|
|
{[testenv:releasenotes]commands}
|
|
allowlist_externals = rm
|
|
|
|
[testenv:functional]
|
|
# This tox env is purely to make local test development easier
|
|
# Note: This requires local running instances of Barbican and Keystone
|
|
# TODO(dmend): remove --serial and uncomment coverage commands
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/zed}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
OS_TEST_PATH={toxinidir}/functionaltests
|
|
commands =
|
|
/usr/bin/find . -type f -name "*.py[c|o]" -delete
|
|
stestr run --serial --slowest {posargs}
|
|
# coverage combine
|
|
# coverage html -d cover
|
|
# coverage xml -o cover/coverage.xml
|
|
allowlist_externals =
|
|
/usr/bin/find
|
|
passenv = KMIP_PLUGIN_ENABLED
|
|
VAULT_PLUGIN_ENABLED
|
|
PKCS11_PLUGIN_ENABLED
|
|
|
|
[testenv:cmd]
|
|
# This tox env is purely to make local test development easier
|
|
# Note: This requires local running instances of Barbican and Keystone
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/zed}
|
|
-r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
OS_TEST_PATH={toxinidir}/barbican/cmd/functionaltests
|
|
commands =
|
|
/usr/bin/find . -type f -name "*.py[c|o]" -delete
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
allowlist_externals =
|
|
/usr/bin/find
|
|
|
|
[doc8]
|
|
ignore = D001
|
|
ignore-path = .venv,.git,.tox,.tmp,*barbican/locale*,*lib/python*,barbican.egg*,doc/build,releasenotes/*,doc/source/contributor/api
|
|
|
|
[flake8]
|
|
filename = *.py,app.wsgi
|
|
exclude = .git,.idea,.tox,bin,dist,debian,rpmbuild,tools,*.egg-info,*.eggs,contrib,
|
|
*docs/target,*.egg,build
|
|
# E402 module level import not at top of file
|
|
# W503 line break before binary operator
|
|
# W504 line break after binary operator
|
|
ignore = E402,W503,W504,
|
|
|
|
[testenv:bandit]
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r barbican -x tests -n5
|
|
|
|
[testenv:bindep]
|
|
# 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.
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:genpolicy]
|
|
envdir = {toxworkdir}/pep8
|
|
commands = oslopolicy-sample-generator --config-file=etc/oslo-config-generator/policy.conf
|
|
|
|
[flake8:local-plugins]
|
|
extension =
|
|
B310 = checks:CheckLoggingFormatArgs
|
|
B311 = checks:validate_assertIsNone
|
|
B312 = checks:validate_assertTrue
|
|
B317 = checks:check_oslo_namespace_imports
|
|
B318 = checks:dict_constructor_with_list_copy
|
|
B319 = checks:no_xrange
|
|
B320 = checks:no_log_warn_check
|
|
B321 = checks:validate_assertIsNotNone
|
|
paths = ./barbican/hacking
|