tests: Enable SQLAlchemy 2.0 deprecation warnings
Well, sort of. We enable them but immediately filter out the ones we're actually seeing, the rationale being that we can address these in a piecemeal fashion without the risk of introducing new issues. Change-Id: I32cad5fd9ddbfd2ff6b62e5e2f87fad6ece7a4c1 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
parent
da002a82f1
commit
4c1eb966c0
@ -29,8 +29,122 @@ class WarningsFixture(fixtures.Fixture):
|
|||||||
category=sqla_exc.SAWarning)
|
category=sqla_exc.SAWarning)
|
||||||
|
|
||||||
# Enable deprecation warnings to capture upcoming SQLAlchemy changes
|
# Enable deprecation warnings to capture upcoming SQLAlchemy changes
|
||||||
|
|
||||||
warnings.filterwarnings(
|
warnings.filterwarnings(
|
||||||
'error',
|
'error',
|
||||||
category=sqla_exc.SADeprecationWarning)
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
# ...but filter everything out until we get around to fixing them
|
||||||
|
# FIXME(stephenfin): Remove all of these
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The legacy calling style of select\(\) is deprecated .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The MetaData.bind argument is deprecated .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The ``bind`` argument for schema methods .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The Session.autocommit parameter is deprecated .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The Session.begin.subtransactions flag is deprecated .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The autoload parameter is deprecated .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'Using non-integer/slice indices on Row is deprecated .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The insert.values parameter will be removed .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The update.values parameter will be removed .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The Engine.execute\(\) method is considered legacy .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The Executable.execute\(\) method is considered .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The Row.keys\(\) method is considered legacy .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'Retrieving row members using strings or other .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The connection.execute\(\) method in SQLAlchemy 2.0 .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'Calling the mapper\(\) function directly outside .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'Passing a string to Connection.execute\(\) .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'Using plain strings to indicate SQL statements .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The current statement is being autocommitted .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'Calling \.begin\(\) when a transaction is already .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The update.whereclause parameter will be removed .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The Engine.scalar\(\) method is considered legacy .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
|
warnings.filterwarnings(
|
||||||
|
'once',
|
||||||
|
message=r'The ``declarative_base\(\)`` function is now .*',
|
||||||
|
category=sqla_exc.SADeprecationWarning)
|
||||||
|
|
||||||
self.addCleanup(warnings.resetwarnings)
|
self.addCleanup(warnings.resetwarnings)
|
||||||
|
3
tox.ini
3
tox.ini
@ -14,6 +14,8 @@ setenv =
|
|||||||
{postgresql,all}: PIFPAF_POSTGRESQL=pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql --
|
{postgresql,all}: PIFPAF_POSTGRESQL=pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql --
|
||||||
{mysql,all}: PIFPAF_MYSQL=pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql --
|
{mysql,all}: PIFPAF_MYSQL=pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql --
|
||||||
{mysql,postgresql,all}: BASECOMMAND={toxinidir}/tools/run-pifpaf-tests.sh
|
{mysql,postgresql,all}: BASECOMMAND={toxinidir}/tools/run-pifpaf-tests.sh
|
||||||
|
# TODO(stephenfin): Remove once we bump our upper-constraint to SQLAlchemy 2.0
|
||||||
|
SQLALCHEMY_WARN_20=1
|
||||||
deps =
|
deps =
|
||||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.txt
|
||||||
@ -80,4 +82,3 @@ import_exceptions =
|
|||||||
deps = bindep
|
deps = bindep
|
||||||
commands = bindep test
|
commands = bindep test
|
||||||
usedevelop = False
|
usedevelop = False
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user