040070add7
As per 2025.1 cycle testing runtime and community goal[1] we need to migrate upstream CI/CD to Ubuntu Noble(24.04). Most of the Tempest jobs will be migrate automatically once devstack base job start running on Noble(Depends-On). As we need to run at least one job on Ubuntu Jammy(22.04), I am adding a new job tempest-full-ubuntu-jammy. Few job like tempest-full-multinode-py3 and plugin sanity job needs to override the nodeset. multinode job needs to run on Jammy till stable/2024.2 and on Noble from master (2025.1) onwards. Stable branch jobs testing stable branch needs to keep running on their supported distro version. Also bump the autopep8 to 2.1.0 as older version does not work on python 3.12 and fail with error: "ModuleNotFoundError: No module named 'lib2to3'". - https://github.com/hhatto/autopep8/issues/581 To resolve the deps of autopep8 2.1.0, I need to bump the hacking to 7.0.0 (this gives flake8 7.1.1 and pycodestyl>2.12 which is needed by autopep8 2.1.0) Depends-On: https://review.opendev.org/c/openstack/devstack/+/931697 Depends-On: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/932155 [1] https://governance.openstack.org/tc/goals/selected/migrate-ci-jobs-to-ubuntu-noble.html Change-Id: If4bf5e8f8c663933d70349aa8ddb45c28e8e558b
502 lines
19 KiB
INI
502 lines
19 KiB
INI
[tox]
|
|
envlist = pep8,py39,bashate,pip-check-reqs
|
|
minversion = 3.18.0
|
|
|
|
[tempestenv]
|
|
sitepackages = False
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
OS_TEST_PATH=./tempest/test_discover
|
|
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv]
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
OS_LOG_CAPTURE=1
|
|
OS_STDOUT_CAPTURE=1
|
|
OS_STDERR_CAPTURE=1
|
|
OS_TEST_TIMEOUT=160
|
|
PYTHONWARNINGS=default::DeprecationWarning,ignore::DeprecationWarning:distutils,ignore::DeprecationWarning:site
|
|
passenv =
|
|
OS_STDOUT_CAPTURE
|
|
OS_STDERR_CAPTURE
|
|
OS_TEST_TIMEOUT
|
|
OS_TEST_LOCK_PATH
|
|
TEMPEST_CONFIG
|
|
TEMPEST_CONFIG_DIR
|
|
http_proxy
|
|
HTTP_PROXY
|
|
https_proxy
|
|
HTTPS_PROXY
|
|
no_proxy
|
|
NO_PROXY
|
|
ZUUL_CACHE_DIR
|
|
REQUIREMENTS_PIP_LOCATION
|
|
GENERATE_TEMPEST_PLUGIN_LIST
|
|
usedevelop = True
|
|
allowlist_externals =
|
|
find
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
stestr --test-path ./tempest/tests run {posargs}
|
|
|
|
[testenv:genconfig]
|
|
commands = oslo-config-generator --config-file tempest/cmd/config-generator.tempest.conf
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source tempest --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
find . -type f -name "*.pyc" -delete
|
|
stestr --test-path ./tempest/tests run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report -m --fail-under=76
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t tempest/tests {posargs}
|
|
|
|
[testenv:all]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
# 'all' includes slow tests
|
|
setenv =
|
|
{[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {posargs:''}
|
|
|
|
[testenv:all-plugin]
|
|
# DEPRECATED
|
|
# NOTE(andreaf) The all-plugin tox env uses sitepackages
|
|
# so that plugins installed outsite of Tempest virtual environment
|
|
# can be discovered. After the implementation during the Queens
|
|
# release cycle of the goal of moving Tempest plugins in dedicated
|
|
# git repos, this environment should not be used anymore. "all"
|
|
# should be used instead with the appropriate regex filtering.
|
|
sitepackages = True
|
|
# 'all' includes slow tests
|
|
setenv =
|
|
{[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
echo "WARNING: The all-plugin env is deprecated and will be removed"
|
|
echo "WARNING Please use the 'all' environment for Tempest plugins."
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {posargs:''}
|
|
|
|
[testenv:all-site-packages]
|
|
sitepackages = True
|
|
# 'all' includes slow tests
|
|
setenv =
|
|
{[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {posargs:''}
|
|
|
|
[testenv:full]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
# The regex below is used to select which tests to run and exclude the slow tag:
|
|
# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
|
# FIXME: We can replace it with the `--exclude-regex` option to exclude tests now.
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' {posargs}
|
|
tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)|(^tempest\.serial_tests)' {posargs}
|
|
|
|
[testenv:integrated-full]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
# The regex below is used to select which tests to run. It exclude the extra
|
|
# tests mentioned in tools/tempest-extra-tests-list.txt and slow tag:
|
|
# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
|
# FIXME: We can replace it with the `--exclude-regex` option to exclude tests now.
|
|
regex1 = '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
|
|
regex2 = '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)|(^tempest\.serial_tests)'
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:integrated-full]regex1} --exclude-list ./tools/tempest-extra-tests-list.txt {posargs}
|
|
tempest run --combine --serial --regex {[testenv:integrated-full]regex2} {posargs}
|
|
|
|
[testenv:extra-tests]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
# The regex below is used to select extra tests mentioned in
|
|
# tools/tempest-extra-tests-list.txt and exclude slow tag tests:
|
|
# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
|
# FIXME: We can replace it with the `--exclude-regex` option to exclude tests now.
|
|
exclude-regex = '\[.*\bslow\b.*\]'
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --exclude-regex {[testenv:extra-tests]exclude-regex} --include-list ./tools/tempest-extra-tests-list.txt {posargs}
|
|
|
|
[testenv:full-parallel]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
# But exclude the extra tests mentioned in tools/tempest-extra-tests-list.txt
|
|
regex = '(^tempest\.scenario.*)|(^tempest\.serial_tests)|(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:full-parallel]regex} --exclude-list ./tools/tempest-extra-tests-list.txt {posargs}
|
|
|
|
[testenv:api-microversion-tests]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '(^tempest\.api\.compute)|(^tempest\.api\.volume)'
|
|
# The regex below is used to select all tempest api tests for services having API
|
|
# microversion concept.
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:api-microversion-tests]regex} {posargs}
|
|
|
|
[testenv:integrated-network]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex1 = '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
|
|
regex2 = '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)|(^tempest\.serial_tests)'
|
|
# The regex below is used to select which tests to run and exclude the slow tag and
|
|
# tests listed in exclude-list file:
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:integrated-network]regex1} --exclude-list ./tools/tempest-integrated-gate-networking-exclude-list.txt {posargs}
|
|
tempest run --combine --serial --regex {[testenv:integrated-network]regex2} --exclude-list ./tools/tempest-integrated-gate-networking-exclude-list.txt {posargs}
|
|
|
|
[testenv:integrated-compute]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex1 = '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
|
|
regex2 = '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)|(^tempest\.serial_tests)'
|
|
# The regex below is used to select which tests to run and exclude the slow tag and
|
|
# tests listed in exclude-list file:
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --slowest --regex {[testenv:integrated-compute]regex1} --exclude-list ./tools/tempest-integrated-gate-compute-exclude-list.txt {posargs}
|
|
tempest run --combine --serial --slowest --regex {[testenv:integrated-compute]regex2} --exclude-list ./tools/tempest-integrated-gate-compute-exclude-list.txt {posargs}
|
|
|
|
[testenv:integrated-placement]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex1 = '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
|
|
regex2 = '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)|(^tempest\.serial_tests)'
|
|
# The regex below is used to select which tests to run and exclude the slow tag and
|
|
# tests listed in exclude-list file:
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:integrated-placement]regex1} --exclude-list ./tools/tempest-integrated-gate-placement-exclude-list.txt {posargs}
|
|
tempest run --combine --serial --regex {[testenv:integrated-placement]regex2} --exclude-list ./tools/tempest-integrated-gate-placement-exclude-list.txt {posargs}
|
|
|
|
[testenv:integrated-storage]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex1 = '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
|
|
regex2 = '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)|(^tempest\.serial_tests)'
|
|
# The regex below is used to select which tests to run and exclude the slow tag and
|
|
# tests listed in exclude-list file:
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:integrated-storage]regex1} --exclude-list ./tools/tempest-integrated-gate-storage-exclude-list.txt {posargs}
|
|
tempest run --combine --serial --regex {[testenv:integrated-storage]regex2} --exclude-list ./tools/tempest-integrated-gate-storage-exclude-list.txt {posargs}
|
|
|
|
[testenv:integrated-object-storage]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex1 = '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
|
|
regex2 = '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)|(^tempest\.serial_tests)'
|
|
# The regex below is used to select which tests to run and exclude the slow tag and
|
|
# tests listed in exclude-list file:
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:integrated-object-storage]regex1} --exclude-list ./tools/tempest-integrated-gate-object-storage-exclude-list.txt {posargs}
|
|
tempest run --combine --serial --regex {[testenv:integrated-object-storage]regex2} --exclude-list ./tools/tempest-integrated-gate-object-storage-exclude-list.txt {posargs}
|
|
|
|
[testenv:full-serial]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|serial_tests))'
|
|
# The regex below is used to select which tests to run and exclude the slow tag:
|
|
# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
|
|
# FIXME: We can replace it with the `--exclude-regex` option to exclude tests now.
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --serial --regex {[testenv:full-serial]regex} {posargs}
|
|
|
|
[testenv:scenario]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '(^tempest\.scenario)'
|
|
# The regex below is used to select all scenario tests
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --serial --regex {[testenv:scenario]regex} {posargs}
|
|
|
|
[testenv:smoke]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '\[.*\bsmoke\b.*\]'
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:smoke]regex} {posargs}
|
|
|
|
[testenv:smoke-serial]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '\[.*\bsmoke\b.*\]'
|
|
# This is still serial because neutron doesn't work with parallel. See:
|
|
# https://bugs.launchpad.net/tempest/+bug/1216076 so the neutron smoke
|
|
# job would fail if we moved it to parallel.
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --serial --regex {[testenv:smoke-serial]regex} {posargs}
|
|
|
|
[testenv:slow-serial]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '\[.*\bslow\b.*\]'
|
|
# The regex below is used to select the slow tagged tests to run serially:
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --serial --regex {[testenv:slow-serial]regex} {posargs}
|
|
|
|
[testenv:slow]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
# The regex below is used to select the slow tagged tests:
|
|
regex = '\[.*\bslow\b.*\]'
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:slow]regex} {posargs}
|
|
|
|
[testenv:multinode]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
# The regex below is used to select the multinode and smoke tagged tests
|
|
regex = '\[.*\bsmoke|multinode\b.*\]'
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:multinode]regex} {posargs}
|
|
|
|
[testenv:ipv6-only]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '\[.*\bsmoke|ipv6|test_network_v6\b.*\]'
|
|
# Run only smoke and ipv6 tests. This env is used to tests
|
|
# the ipv6 deployments and basic tests run fine so that we can
|
|
# verify that services listen on IPv6 address.
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
tempest run --regex {[testenv:ipv6-only]regex} {posargs}
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:venv-tempest]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-apidoc -f -o doc/source/tests/compute tempest/api/compute
|
|
sphinx-apidoc -f -o doc/source/tests/identity tempest/api/identity
|
|
sphinx-apidoc -f -o doc/source/tests/image tempest/api/image
|
|
sphinx-apidoc -f -o doc/source/tests/network tempest/api/network
|
|
sphinx-apidoc -f -o doc/source/tests/object_storage tempest/api/object_storage
|
|
sphinx-apidoc -f -o doc/source/tests/volume tempest/api/volume
|
|
sphinx-apidoc -f -o doc/source/tests/scenario tempest/scenario
|
|
sphinx-apidoc -f -o doc/source/tests/serial_tests tempest/serial_tests
|
|
rm -rf doc/build
|
|
sphinx-build -W -b html doc/source doc/build/html
|
|
allowlist_externals =
|
|
rm
|
|
|
|
[testenv:pdf-docs]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
rm
|
|
make
|
|
commands =
|
|
sphinx-apidoc -f -o doc/source/tests/compute tempest/api/compute
|
|
sphinx-apidoc -f -o doc/source/tests/identity tempest/api/identity
|
|
sphinx-apidoc -f -o doc/source/tests/image tempest/api/image
|
|
sphinx-apidoc -f -o doc/source/tests/network tempest/api/network
|
|
sphinx-apidoc -f -o doc/source/tests/object_storage tempest/api/object_storage
|
|
sphinx-apidoc -f -o doc/source/tests/volume tempest/api/volume
|
|
sphinx-apidoc -f -o doc/source/tests/scenario tempest/scenario
|
|
sphinx-apidoc -f -o doc/source/tests/serial_tests tempest/serial_tests
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:pep8]
|
|
deps =
|
|
{[testenv]deps}
|
|
autopep8>=2.1.0
|
|
commands =
|
|
autopep8 --exit-code --max-line-length=79 --experimental --diff -r tempest setup.py
|
|
flake8 {posargs}
|
|
check-uuid
|
|
|
|
[testenv:autopep8]
|
|
deps = autopep8>=2.1.0
|
|
commands =
|
|
{toxinidir}/tools/format.sh
|
|
|
|
[testenv:uuidgen]
|
|
commands =
|
|
check-uuid --fix
|
|
|
|
[hacking]
|
|
import_exceptions = tempest.services
|
|
|
|
[flake8]
|
|
# E125 is a won't fix until https://github.com/jcrocholl/pep8/issues/126 is resolved. For further detail see https://review.opendev.org/#/c/36788/
|
|
# E123 skipped because it is ignored by default in the default pep8
|
|
# E129 skipped because it is too limiting when combined with other rules
|
|
# W504 skipped because it is overeager and unnecessary
|
|
# H405 skipped because it arbitrarily forces doctring "title" lines
|
|
# I201 and I202 skipped because the rule does not allow new line between 3rd party modules and own modules
|
|
ignore = E125,E123,E129,W504,H405,I201,I202,T117
|
|
show-source = True
|
|
exclude = .git,.venv,.tox,dist,doc,*egg,build
|
|
enable-extensions = H106,H203,H904
|
|
import-order-style = pep8
|
|
|
|
[flake8:local-plugins]
|
|
extension =
|
|
T102 = checks:import_no_clients_in_api_and_scenario_tests
|
|
T104 = checks:scenario_tests_need_service_tags
|
|
T105 = checks:no_setup_teardown_class_for_tests
|
|
T107 = checks:service_tags_not_in_module_path
|
|
T108 = checks:no_hyphen_at_end_of_rand_name
|
|
N322 = checks:no_mutable_default_args
|
|
T109 = checks:no_testtools_skip_decorator
|
|
T110 = checks:get_resources_on_service_clients
|
|
T111 = checks:delete_resources_on_service_clients
|
|
T112 = checks:dont_import_local_tempest_into_lib
|
|
T113 = checks:use_rand_uuid_instead_of_uuid4
|
|
T114 = checks:dont_use_config_in_tempest_lib
|
|
T115 = checks:dont_put_admin_tests_on_nonadmin_path
|
|
T116 = checks:unsupported_exception_attribute_PY3
|
|
T117 = checks:negative_test_attribute_always_applied_to_negative_tests
|
|
T118 = checks:no_log_warn
|
|
paths =
|
|
./tempest/hacking
|
|
|
|
[testenv:releasenotes]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees \
|
|
-b html releasenotes/source releasenotes/build/html
|
|
allowlist_externals = rm
|
|
|
|
[testenv:bashate]
|
|
# if you want to test out some changes you have made to bashate
|
|
# against tempest, just set BASHATE_INSTALL_PATH=/path/... to your
|
|
# modified bashate tree
|
|
deps =
|
|
{env:BASHATE_INSTALL_PATH:bashate}
|
|
allowlist_externals = bash
|
|
commands = bash -c "find {toxinidir}/tools \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-type f \
|
|
-name \*.sh \
|
|
-print0 | xargs -0 bashate -v -eE005,E042 -i E006"
|
|
|
|
[testenv:pip-check-reqs]
|
|
# Do not install test-requirements as that will pollute the virtualenv for
|
|
# determining missing packages.
|
|
# This also means that pip-check-reqs must be installed separately, outside
|
|
# of the requirements.txt files
|
|
deps = pip_check_reqs
|
|
-r{toxinidir}/requirements.txt
|
|
commands=
|
|
pip-extra-reqs -d --ignore-file=tempest/tests/* tempest
|
|
pip-missing-reqs -d --ignore-file=tempest/tests/* tempest
|
|
|
|
|
|
[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:plugin-sanity-check]
|
|
# perform tempest plugin sanity
|
|
allowlist_externals = bash
|
|
commands =
|
|
bash tools/tempest-plugin-sanity.sh
|
|
|
|
[testenv:stestr-master]
|
|
envdir = .tox/tempest
|
|
sitepackages = {[tempestenv]sitepackages}
|
|
setenv = {[tempestenv]setenv}
|
|
deps = {[tempestenv]deps}
|
|
regex = '\[.*\bsmoke\b.*\]'
|
|
# The below command install stestr master version and run smoke tests
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
pip install -U git+https://github.com/mtreinish/stestr
|
|
tempest run --regex {[testenv:stestr-master]regex} {posargs}
|