mirror of
https://opendev.org/openstack/python-openstackclient.git
synced 2026-01-16 23:13:05 +00:00
[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-October/018445.html Conflicts: .zuul.yaml lower-constraints.txt Changes: bindep.txt NOTE(stephenfin): Conflicts are due to the changed job template (ussuri vs victoria) and slightly different lower constraints between branches. We also need to remove 'libffi6' from 'bindep.txt' since Focal doesn't have this. This was done in the Victoria cycle as part of change Iab3634039845adb649c7fd69d1812b405a61433c but we must squash it in here. Change-Id: I45e9a81d451c64cdd51f9b606d94161742bacdb7 (cherry picked from commitc677192d51) (cherry picked from commitcde8db3d61) (cherry picked from commit40f56c653c) (cherry picked from commit84af7608ef)
143 lines
5.4 KiB
INI
143 lines
5.4 KiB
INI
[tox]
|
|
minversion = 3.2.0
|
|
envlist = py37,pep8
|
|
skipdist = True
|
|
# Automatic envs (pyXX) will only use the python version appropriate to that
|
|
# env and ignore basepython inherited from [testenv] if we set
|
|
# ignore_basepython_conflict.
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
basepython = python3
|
|
setenv = OS_STDOUT_CAPTURE=1
|
|
OS_STDERR_CAPTURE=1
|
|
OS_TEST_TIMEOUT=60
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands = stestr run {posargs}
|
|
whitelist_externals = stestr
|
|
|
|
[testenv:fast8]
|
|
# Use same environment directory as pep8 env to save space and install time
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
envdir = {toxworkdir}/pep8
|
|
commands =
|
|
{toxinidir}/tools/fast8.sh
|
|
|
|
[testenv:pep8]
|
|
deps =
|
|
hacking>=2.0.0,<4.0.0
|
|
bandit!=1.6.0,>=1.1.0
|
|
flake8-import-order>=0.13 # LGPLv3
|
|
commands =
|
|
flake8
|
|
bandit -r openstackclient -x tests -s B105,B106,B107,B401,B404,B603,B606,B607,B110,B605,B101
|
|
|
|
[testenv:bandit]
|
|
# This command runs the bandit security linter against the openstackclient
|
|
# codebase minus the tests directory. Some tests are being excluded to
|
|
# reduce the number of positives before a team inspection, and to ensure a
|
|
# passing gate job for initial addition. The excluded tests are:
|
|
# B105-B107: hardcoded password checks - likely to generate false positives
|
|
# in a gate environment
|
|
# B401: import subprocess - not necessarily a security issue; this plugin is
|
|
# mainly used for penetration testing workflow
|
|
# B603,B606: process without shell - not necessarily a security issue; this
|
|
# plugin is mainly used for penetration testing workflow
|
|
# B607: start process with a partial path - this should be a project level
|
|
# decision
|
|
# NOTE(elmiko): The following tests are being excluded specifically for
|
|
# python-openstackclient, they are being excluded to ensure that voting jobs
|
|
# in the project and in bandit integration tests continue to pass. These
|
|
# tests have generated issue within the project and should be investigated
|
|
# by the project.
|
|
# B110: try, except, pass detected - possible security issue; this should be
|
|
# investigated by the project for possible exploitation
|
|
# B605: process with a shell - possible security issue; this should be
|
|
# investigated by the project for possible exploitation
|
|
# B101: use of assert - this code will be removed when compiling to optimized
|
|
# byte code
|
|
commands =
|
|
bandit -r openstackclient -x tests -s B105,B106,B107,B401,B404,B603,B606,B607,B110,B605,B101
|
|
|
|
[testenv:unit-tips]
|
|
commands =
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../cliff#egg=cliff"
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../keystoneauth#egg=keystoneauth"
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../osc-lib#egg=osc_lib"
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../os-client-config#egg=os_client_config"
|
|
pythom -m pip install -q -e "git+file://{toxinidir}/../openstacksdk#egg=openstacksdk"
|
|
python -m pip freeze
|
|
stestr run {posargs}
|
|
whitelist_externals = stestr
|
|
|
|
[testenv:functional]
|
|
setenv = OS_TEST_PATH=./openstackclient/tests/functional
|
|
passenv = OS_*
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:functional-tips]
|
|
setenv = OS_TEST_PATH=./openstackclient/tests/functional
|
|
passenv = OS_*
|
|
commands =
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../cliff#egg=cliff"
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../keystoneauth#egg=keystoneauth"
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../osc-lib#egg=osc_lib"
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../os-client-config#egg=os_client_config"
|
|
python -m pip install -q -U -e "git+file://{toxinidir}/../openstacksdk#egg=openstacksdk"
|
|
python -m pip freeze
|
|
stestr run {posargs}
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
PYTHON=coverage run --source openstackclient --parallel-mode
|
|
commands =
|
|
stestr -q run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:debug]
|
|
passenv = OS_*
|
|
commands =
|
|
oslo_debug_helper -t openstackclient/tests {posargs}
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
|
sphinx-build -a -E -W -d doc/build/doctrees -b man doc/source doc/build/man
|
|
# Validate redirects (must be done after the docs build
|
|
whereto doc/build/html/.htaccess doc/test/redirect-tests.txt
|
|
|
|
[testenv:releasenotes]
|
|
deps =
|
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# H203: Use assertIs(Not)None to check for None
|
|
enable-extensions = H203
|
|
exclude = .git,.tox,dist,doc,*lib/python*,*egg,build,tools
|
|
# W504 is disabled since you must choose between this or W503
|
|
ignore = W504
|
|
import-order-style = pep8
|
|
application_import_names = openstackclient
|