
The repo is Python 3 now, so update hacking to version 3.0 which supports Python 3. Fix problems found by updated hacking version. Update local hacking checks for new flake8, remove test B314 since that tests difference between Python 2 and 3, there's no need to advise using six anymore. Use oslotest.base directly, this fixes the hacking tests. Remove ddt usage in testsuite, it does not work with current hacking version anymore. Change-Id: Iee4584c6fde08728c017468d9de1db73f2c79d8d
186 lines
5.5 KiB
INI
186 lines
5.5 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
envlist = py36,py37,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/master}
|
|
-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
|
|
whitelist_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]
|
|
whitelist_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/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands=
|
|
rm -rf doc/build doc/build/doctrees
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
whitelist_externals = rm
|
|
|
|
[testenv:pdf-docs]
|
|
deps = {[testenv:docs]deps}
|
|
whitelist_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}
|
|
whitelist_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/master}
|
|
-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
|
|
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/master}
|
|
-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
|
|
|
|
[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
|