diff --git a/test-requirements.txt b/test-requirements.txt index a3d4f5cd..5c6586e3 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -3,12 +3,13 @@ # process, which may cause wedges in the gate later. hacking>=3.0 # Apache Software License +fixtures # Apache Software License/BSD License pytest # MIT # py.test plugin for measuring coverage. pytest-cov # MIT # py.test plugin for generating HTML reports -pytest-html # Mozilla Public License 2.0 (MPL 2.0) +pytest-html # MIT # py.test xdist plugin for distributed testing and loop-on-failing modes pytest-xdist # MIT @@ -17,5 +18,5 @@ ddt # MIT testtools # MIT # docs -docutils<0.18 # public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt) +docutils # public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt) Pygments # BSD-2-Clause diff --git a/tests/unit/test.py b/tests/unit/test.py index 79c31175..bdf06256 100644 --- a/tests/unit/test.py +++ b/tests/unit/test.py @@ -18,9 +18,9 @@ import os from unittest import mock import uuid +from oslo_config import fixture as cfg_fixture # noqa N311 import testtools -from rally.common import cfg from rally.common import db from rally import plugins @@ -30,7 +30,7 @@ from tests.unit import fakes plugins.load() -class DatabaseFixture(cfg.fixture.Config): +class DatabaseFixture(cfg_fixture.Config): """Create clean DB before starting test.""" def setUp(self): super(DatabaseFixture, self).setUp() diff --git a/tox.ini b/tox.ini index 286768e1..29e0e193 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -minversion = 3.1.1 +minversion = 4.0.0 ignore_basepython_conflict = true envlist = py38,py39,py310,pep8 @@ -42,15 +42,6 @@ skip_install = true commands = flake8 distribute = false -[testenv:py38] -basepython = python3.8 - -[testenv:py39] -basepython = python3.9 - -[testenv:py310] -basepython = python3.10 - [testenv:venv] basepython = python3 commands = {posargs} @@ -133,8 +124,6 @@ commands = {toxinidir}/tests/ci/rally_self_job.sh {toxinidir}/rally-jobs/self-ra [pytest] filterwarnings = error - ignore:invalid escape sequence:DeprecationWarning:.*subunit.* - ignore:::.*netaddr.strategy.* ignore:the imp module is deprecated in favour of importlib.*:DeprecationWarning # we do not use anything inner from OptionParser, so we do not care about it's parent ignore:The frontend.OptionParser class will be replaced by a subclass of argparse.ArgumentParser in Docutils 0.21 or later.:DeprecationWarning: @@ -158,5 +147,3 @@ filterwarnings = ignore:pkg_resources is deprecated as an API:DeprecationWarning: # python 3.8 ignore:Deprecated call to `pkg_resources.declare_namespace*:DeprecationWarning: - # python 3.7 - ignore:invalid escape sequence:DeprecationWarning:.*prettytable.* diff --git a/upper-constraints.txt b/upper-constraints.txt index 40fe9d4b..884fed38 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -1,188 +1,124 @@ -alembic===1.6.5;python_version < '3.8' -alembic===1.9.4;python_version >= '3.8' +alembic===1.9.4 appdirs===1.4.4 -attrs===21.2.0;python_version < '3.8' -attrs===23.1.0;python_version >= '3.8' +attrs===23.1.0 autopage===0.5.1 -Babel===2.9.1;python_version < '3.8' -Babel===2.12.1;python_version >= '3.8' +Babel===2.12.1 bcrypt===4.0.1 -cachetools===4.2.4;python_version < '3.8' -cachetools===5.3.0;python_version >= '3.8' -certifi===2023.5.7 +cachetools===5.3.1 +certifi===2023.11.17 cffi===1.15.1 -charset-normalizer===3.1.0 -click===8.0.3;python_version < '3.8' -click===8.1.3;python_version >= '3.8' -cliff===3.9.0;python_version < '3.8' -cliff===4.3.0;python_version >= '3.8' +charset-normalizer===3.2.0 +click===8.1.7 +cliff===4.4.0 cmd2===2.4.3 -cryptography===3.4.7;python_version < '3.8' -cryptography===40.0.2;python_version >= '3.8' +cryptography===41.0.4 debtcollector===2.5.0 decorator===5.1.1 -distlib===0.3.6 -dogpile.cache===1.1.8 -extras===1.0.0 -fasteners===0.18 -filelock===3.0.12;python_version < '3.8' -filelock===3.12.0;python_version >= '3.8' -fixtures===4.0.1 +distlib===0.3.7 +dogpile.cache===1.2.2 +fasteners===0.19 +filelock===3.12.4 futurist===2.4.1 gnocchiclient===7.0.8 -google-auth===2.17.3 -idna===2.10;python_version < '3.8' -idna===3.4;python_version >= '3.8' -importlib_metadata===4.8.1;python_version < '3.8' -iso8601===1.1.0 -Jinja2===3.0.1;python_version < '3.8' -Jinja2===3.1.2;python_version >= '3.8' -jmespath===0.10.0;python_version < '3.7' -jmespath===1.0.1;python_version >= '3.7' -jsonpatch===1.32 -jsonpointer===2.3 -jsonschema===3.2.0;python_version < '3.8' -jsonschema===4.17.3;python_version >= '3.8' -keystoneauth1===4.4.0;python_version < '3.8' -keystoneauth1===5.2.0;python_version >= '3.8' -kubernetes===26.1.0 -Mako===1.1.4;python_version < '3.8' -Mako===1.2.4;python_version >= '3.8' -MarkupSafe===2.0.1;python_version < '3.8' -MarkupSafe===2.1.2;python_version >= '3.8' -msgpack===1.0.5 +google-auth===2.23.0 +idna===3.4 +iso8601===2.0.0 +Jinja2===3.1.2 +jmespath===1.0.1 +jsonpatch===1.33 +jsonpointer===2.4 +jsonschema===4.19.1 +jsonschema-specifications===2023.7.1 +keystoneauth1===5.5.0 +kubernetes===28.1.0 +Mako===1.2.4 +MarkupSafe===2.1.3 +msgpack===1.0.6 murano-pkg-check===0.3.0 -netaddr===0.8.0 +netaddr===0.9.0 netifaces===0.11.0 oauthlib===3.2.2 -openstacksdk===0.59.0;python_version < '3.7' -openstacksdk===1.2.0;python_version >= '3.7' +openstacksdk===2.1.0 os-client-config===2.1.0 os-faults===0.2.7 os-service-types===1.7.0 -osc-lib===2.8.0 -oslo.concurrency===4.4.1;python_version < '3.8' -oslo.config===8.7.0;python_version < '3.8' -oslo.context===3.3.0;python_version < '3.8' -oslo.db===9.0.0;python_version < '3.8' -oslo.i18n===5.0.1;python_version < '3.8' -oslo.log===4.5.0;python_version < '3.8' -oslo.serialization===4.1.0;python_version < '3.8' -oslo.utils===4.9.0;python_version < '3.8' -oslo.concurrency===5.1.1;python_version >= '3.8' -oslo.config===9.1.1;python_version >= '3.8' -oslo.context===5.1.1;python_version >= '3.8' -oslo.db===12.3.1;python_version >= '3.8' -oslo.i18n===6.0.0;python_version >= '3.8' -oslo.log===5.2.0;python_version >= '3.8' -oslo.serialization===5.1.1;python_version >= '3.8' -oslo.utils===6.1.0;python_version >= '3.8' -osprofiler===3.4.2;python_version < '3.7' -osprofiler===3.4.3;python_version >= '3.7' -packaging===20.9;python_version < '3.8' -packaging===23.1;python_version >= '3.8' -paramiko===2.7.2;python_version < '3.8' -paramiko===3.1.0;python_version >= '3.8' -pbr===5.11.1 -pip===23.1.2 -platformdirs===3.2.0 +osc-lib===3.0.0 +oslo.concurrency===5.3.0 +oslo.config===9.3.0 +oslo.context===5.3.0 +oslo.db===14.1.0 +oslo.i18n===6.2.0 +oslo.log===5.4.0 +oslo.serialization===5.3.0 +oslo.utils===7.0.0 +osprofiler===4.1.0 +packaging===23.1 +paramiko===3.3.1 +pbr===6.0.0 +pip===23.3.2 +platformdirs===3.10.0 ply===3.11 -prettytable===0.7.2;python_version < '3.8' -prettytable===3.8.0;python_version >= '3.8' +prettytable===3.9.0 pyasn1===0.4.8 pyasn1-modules===0.3.0 pycparser===2.21 -pyghmi===1.5.61 +pyghmi===1.5.63 PyNaCl===1.5.0 -pyOpenSSL===20.0.1;python_version < '3.8' -pyOpenSSL===23.1.1;python_version >= '3.8' -pyparsing===3.0.9 +pyOpenSSL===23.2.0 +pyparsing===3.1.1 pyperclip===1.8.2 -pyrsistent===0.17.3;python_version < '3.8' -pyrsistent===0.19.3;python_version >= '3.8' -python-barbicanclient===5.2.0;python_version < '3.8' -python-cinderclient===8.1.0;python_version < '3.8' -python-dateutil===2.8.2;python_version < '3.8' -python-designateclient===4.3.0;python_version < '3.8' -python-glanceclient===3.5.0;python_version < '3.8' -python-heatclient===2.4.0;python_version < '3.8' -python-ironicclient===4.9.0;python_version < '3.8' -python-keystoneclient===4.3.0;python_version < '3.8' -python-magnumclient===3.5.0;python_version < '3.8' -python-manilaclient===3.0.0;python_version < '3.8' -python-mistralclient===4.3.0;python_version < '3.8' -python-monascaclient===2.4.0;python_version < '3.8' -python-muranoclient===2.4.0;python_version < '3.8' -python-neutronclient===7.6.0;python_version < '3.8' -python-novaclient===17.6.0;python_version < '3.8' -python-octaviaclient===2.4.0;python_version < '3.8' -python-openstackclient===5.6.0;python_version < '3.8' -python-saharaclient===3.4.0;python_version < '3.8' -python-senlinclient===2.3.0;python_version < '3.8' -python-subunit===1.4.0;python_version < '3.8' -python-swiftclient===3.12.0;python_version < '3.8' -python-troveclient===7.1.1;python_version < '3.8' -python-watcherclient===3.3.0;python_version < '3.8' -python-zaqarclient===2.2.0;python_version < '3.8' -python-barbicanclient===5.5.0;python_version >= '3.8' -python-cinderclient===9.3.0;python_version >= '3.8' -python-dateutil===2.8.2;python_version >= '3.8' -python-designateclient===5.2.0;python_version >= '3.8' -python-glanceclient===4.3.0;python_version >= '3.8' -python-heatclient===3.3.0;python_version >= '3.8' -python-ironicclient===5.2.0;python_version >= '3.8' -python-keystoneclient===5.1.0;python_version >= '3.8' -python-magnumclient===4.1.0;python_version >= '3.8' -python-manilaclient===4.4.0;python_version >= '3.8' -python-mistralclient===5.0.0;python_version >= '3.8' -python-monascaclient===2.7.0;python_version >= '3.8' -python-muranoclient===2.6.0;python_version >= '3.8' -python-neutronclient===10.0.0;python_version >= '3.8' -python-novaclient===18.3.0;python_version >= '3.8' -python-octaviaclient===3.4.0;python_version >= '3.8' -python-openstackclient===6.2.0;python_version >= '3.8' -python-saharaclient===4.1.0;python_version >= '3.8' -python-senlinclient===3.0.0;python_version >= '3.8' -python-subunit===1.4.2;python_version >= '3.8' -python-swiftclient===4.3.0;python_version >= '3.8' -python-troveclient===8.1.0;python_version >= '3.8' -python-watcherclient===4.1.0;python_version >= '3.8' -python-zaqarclient===2.5.1;python_version >= '3.8' -pytz===2023.3 -PyYAML===6.0 +python-barbicanclient===5.6.1 +python-cinderclient===9.4.0 +python-dateutil===2.8.2 +python-designateclient===5.3.0 +python-glanceclient===4.4.0 +python-heatclient===3.4.0 +python-ironicclient===5.4.0 +python-keystoneclient===5.3.0 +python-magnumclient===4.3.0 +python-manilaclient===4.7.0 +python-mistralclient===5.1.0 +python-monascaclient===2.8.0 +python-muranoclient===2.7.0 +python-neutronclient===11.1.0 +python-novaclient===18.4.0 +python-octaviaclient===3.6.0 +python-openstackclient===6.4.0 +python-saharaclient===4.2.0 +python-senlinclient===3.1.0 +python-subunit===1.4.3 +python-swiftclient===4.4.0 +python-troveclient===8.3.0 +python-watcherclient===4.2.0 +python-zaqarclient===2.6.0 +pytz===2023.3.post1 +PyYAML===6.0.1 rally===4.0.0 -requests===2.25.1;python_version < '3.8' -requests===2.28.2;python_version >= '3.8' +referencing===0.30.2 +requests===2.31.0 requests-oauthlib===1.3.1 requestsexceptions===1.4.0 -rfc3986===1.5.0;python_version < '3.8' -rfc3986===2.0.0;python_version >= '3.8' +rfc3986===2.0.0 +rpds-py===0.10.3 rsa===4.9 semantic-version===2.10.0 -setuptools===57.0.0;python_version < '3.8' -setuptools===67.8.0;python_version >= '3.8' +setuptools===69.0.3 simplejson===3.19.1 six===1.16.0 SQLAlchemy===1.4.41 -stevedore===3.3.0;python_version < '3.8' -stevedore===5.0.0;python_version >= '3.8' -Tempita===0.5.2 +stevedore===5.1.0 testresources===2.0.1 testscenarios===0.5.0 -testtools===2.6.0 -ujson===4.2.0;python_version < '3.8' -ujson===5.7.0;python_version >= '3.8' -urllib3===1.26.15 -virtualenv===20.4.7;python_version < '3.8' -virtualenv===20.22.0;python_version >= '3.8' -warlock===1.3.3;python_version < '3.8' -warlock===2.0.1;python_version >= '3.88' +testtools===2.7.0 +typing-extensions===4.9.0 +tzdata===2023.3 +ujson===5.8.0 +urllib3===1.26.16 +virtualenv===20.24.5 +warlock===2.0.1 wcwidth===0.2.6 WebOb===1.8.7 -websocket-client===1.2.1;python_version < '3.8' -websocket-client===1.5.1;python_version >= '3.8' -wheel===0.40.0 +websocket-client===1.6.3 +wheel===0.42.0 wrapt===1.15.0 -yaql===2.0.0 -zipp===3.6.0;python_version < '3.8' -zipp===3.15.0;python_version >= '3.8' +yaql===2.0.1