From 9063e3a1fda7f362267649565a7cda4e37c56b7d Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Fri, 22 Apr 2022 10:10:06 +0100 Subject: Add Python 3.10 functional jobs These are currently non-voting since we don't care about this stuff for Zed. It does get us ready for a 3.10-having future, however. Change-Id: I7740dafd6523eca27fa4e725d7eaf8558e434779 Signed-off-by: Stephen Finucane --- tox.ini | 106 ++++++++++++++++++++++------------------------------------------ 1 file changed, 37 insertions(+), 69 deletions(-) (limited to 'tox.ini') diff --git a/tox.ini b/tox.ini index 234e006cad..6534b7ac90 100644 --- a/tox.ini +++ b/tox.ini @@ -43,6 +43,42 @@ commands = env TEST_OSPROFILER=1 stestr run --combine --no-discover 'nova.tests.unit.test_profiler' stestr slowest +[testenv:functional{,-py38,-py39,-py310}] +description = + Run functional tests. +# As nova functional tests import the PlacementFixture from the placement +# repository these tests are, by default, set up to run with openstack-placement +# from pypi. In the gate, Zuul will use the installed version of placement (stable +# branch version on stable gate run) OR the version of placement the Depends-On in +# the commit message suggests. If you want to run the tests with latest master from +# the placement repo, modify the dep line to point at master, example: +# deps = +# {[testenv]deps} +# git+https://opendev.org/openstack/placement#egg=openstack-placement +# If you want to run the test locally with an un-merged placement change, +# modify the dep line to point to your dependency or pip install placement +# into the appropriate tox virtualenv. +# NOTE: We express the requirement here instead of test-requirements +# because we do not want placement present during unit tests. +deps = + {[testenv]deps} + openstack-placement>=1.0.0 +extras = +commands = + stestr --test-path=./nova/tests/functional run {posargs} + stestr slowest + +[testenv:functional-without-sample-db-tests] +description = + Run functional tests by excluding the API|Notification + sample tests and DB tests. This env is used in + placement-nova-tox-functional-py38 job which is defined and + run in placement. +deps = {[testenv:functional]deps} +extras = +commands = + stestr --test-path=./nova/tests/functional run --exclude-regex '((?:api|notification)_sample_tests|functional\.db\.)' {posargs} + [testenv:mypy] description = Run type checks. @@ -97,74 +133,6 @@ skipsdist = true commands = bash tools/check-cherry-picks.sh -[testenv:functional] -description = - Run functional tests using python3. -# As nova functional tests import the PlacementFixture from the placement -# repository these tests are, by default, set up to run with openstack-placement -# from pypi. In the gate, Zuul will use the installed version of placement (stable -# branch version on stable gate run) OR the version of placement the Depends-On in -# the commit message suggests. If you want to run the tests with latest master from -# the placement repo, modify the dep line to point at master, example: -# deps = -# {[testenv]deps} -# git+https://opendev.org/openstack/placement#egg=openstack-placement -# If you want to run the test locally with an un-merged placement change, -# modify the dep line to point to your dependency or pip install placement -# into the appropriate tox virtualenv. -# NOTE: We express the requirement here instead of test-requirements -# because we do not want placement present during unit tests. -deps = - {[testenv]deps} - openstack-placement>=1.0.0 -extras = -commands = - stestr --test-path=./nova/tests/functional run {posargs} - stestr slowest - -[testenv:functional-py36] -description = - Run functional tests using python3.6. -deps = {[testenv:functional]deps} -extras = -commands = - {[testenv:functional]commands} - -[testenv:functional-py37] -description = - Run functional tests using python3.7. -deps = {[testenv:functional]deps} -extras = -commands = - {[testenv:functional]commands} - -[testenv:functional-py38] -description = - Run functional tests using python3.8. -deps = {[testenv:functional]deps} -extras = -commands = - {[testenv:functional]commands} - -[testenv:functional-without-sample-db-tests] -description = - Run functional tests by excluding the API|Notification - sample tests and DB tests. This env is used in - placement-nova-tox-functional-py38 job which is defined and - run in placement. -deps = {[testenv:functional]deps} -extras = -commands = - stestr --test-path=./nova/tests/functional run --exclude-regex '((?:api|notification)_sample_tests|functional\.db\.)' {posargs} - -[testenv:functional-py39] -description = - Run functional tests using python3.9. -deps = {[testenv:functional]deps} -extras = -commands = - {[testenv:functional]commands} - [testenv:api-samples] envdir = {toxworkdir}/functional setenv = @@ -323,7 +291,7 @@ exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,releasenotes # to 25 and run 'tox -epep8'. # 39 is currently the most complex thing we have # TODO(jogo): get this number down to 25 or so -max-complexity=40 +max-complexity = 40 [hacking] import_exceptions = typing,nova.i18n -- cgit v1.2.1