
We want to default to running all tox environments under python 3, so set the basepython value in each environment. We do not want to specify a minor version number, because we do not want to have to update the file every time we upgrade python. We do not want to set the override once in testenv, because that breaks the more specific versions used in default environments like py35 and py36. Change-Id: I0db7cdc38ed8392ec4358467115b6d715c71bb29 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
159 lines
4.8 KiB
INI
159 lines
4.8 KiB
INI
[tox]
|
|
minversion = 2.0
|
|
envlist = py35,py27,pep8,docs
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U {opts} {packages}
|
|
deps = -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
|
|
python setup.py testr --coverage --testr-args='{posargs}'
|
|
coverage report -m
|
|
whitelist_externals = rm
|
|
|
|
[testenv:cover]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv]deps}
|
|
diff_cover
|
|
commands =
|
|
coverage erase
|
|
python setup.py testr --coverage --testr-args='{posargs}'
|
|
coverage xml
|
|
diff-cover --fail-under 100 --compare-branch master coverage.xml
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
sitepackages = False
|
|
commands =
|
|
flake8 {posargs}
|
|
# Run security linter
|
|
bandit -r barbican -x tests -n5
|
|
|
|
[testenv:genconfig]
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
envdir = {toxworkdir}/pep8
|
|
commands =
|
|
oslo-config-generator --config-file etc/oslo-config-generator/barbican.conf
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:debug]
|
|
basepython = python3
|
|
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.
|
|
basepython = python3
|
|
install_command = /bin/echo {packages}
|
|
commands =
|
|
pip install "hacking>=0.10.0,<0.11"
|
|
flake8 barbican setup.py
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands=
|
|
rm -rf doc/build api-guide/build api-ref/build
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
sphinx-build -W -b html api-guide/source api-guide/build/html
|
|
sphinx-build -W -b html api-ref/source api-ref/build/html
|
|
whitelist_externals = rm
|
|
|
|
[testenv:api-guide]
|
|
basepython = python3
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Guide to developer.openstack.org.
|
|
commands =
|
|
rm -rf api-guide/build
|
|
sphinx-build -W -b html -d api-guide/build/doctrees api-guide/source api-guide/build/html
|
|
|
|
[testenv:api-ref]
|
|
basepython = python3
|
|
# This environment is called from CI scripts to test and publish
|
|
# the API Ref to developer.openstack.org.
|
|
commands =
|
|
rm -rf api-ref/build
|
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
|
|
|
[testenv:functional]
|
|
# This tox env is purely to make local test development easier
|
|
# Note: This requires local running instances of Barbican and Keystone
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
setenv = OS_TEST_PATH={toxinidir}/functionaltests
|
|
commands =
|
|
/usr/bin/find . -type f -name "*.py[c|o]" -delete
|
|
/bin/bash {toxinidir}/functionaltests/pretty_tox.sh '{posargs}'
|
|
passenv = KMIP_PLUGIN_ENABLED
|
|
|
|
[testenv:py35functional]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
setenv = OS_TEST_PATH={toxinidir}/functionaltests
|
|
commands =
|
|
/usr/bin/find . -type f -name "*.py[c|o]" -delete
|
|
/bin/bash {toxinidir}/functionaltests/pretty_tox.sh '{posargs}'
|
|
passenv = KMIP_PLUGIN_ENABLED
|
|
|
|
[testenv:cmd]
|
|
basepython = python3
|
|
# This tox env is purely to make local test development easier
|
|
# Note: This requires local running instances of Barbican and Keystone
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
setenv = OS_TEST_PATH={toxinidir}/barbican/cmd/functionaltests
|
|
commands =
|
|
/usr/bin/find . -type f -name "*.py[c|o]" -delete
|
|
/bin/bash {toxinidir}/functionaltests/pretty_tox.sh '{posargs}'
|
|
|
|
[flake8]
|
|
filename = *.py,app.wsgi
|
|
exclude = .git,.idea,.tox,bin,dist,debian,rpmbuild,tools,*.egg-info,*.eggs,contrib,
|
|
*docs/target,*.egg,build
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r barbican -x tests -n5
|
|
|
|
[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.
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:genpolicy]
|
|
basepython = python3
|
|
envdir = {toxworkdir}/pep8
|
|
commands = oslopolicy-sample-generator --config-file=etc/oslo-config-generator/policy.conf
|
|
|
|
[hacking]
|
|
local-check-factory = barbican.hacking.checks.factory
|
|
|
|
[testenv:lower-constraints]
|
|
basepython = python3
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
|