summaryrefslogtreecommitdiff
path: root/alembic/testing
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-03-12 19:59:34 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2020-03-12 20:00:12 -0400
commitd2457c772128fdf0a94084feaaa2844387d92c2b (patch)
treea28f9692362df6c688b29611e893206a367d8047 /alembic/testing
parentfe8e7cca5bce0d6f9d05bb1e48f407fc8cbfdf50 (diff)
downloadalembic-d2457c772128fdf0a94084feaaa2844387d92c2b.tar.gz
Don't raise on pytest deprecation warnings
py.test 5.4.0 emits deprecation warnings for pytest.Class. make sure we don't raise for these, and log the code that will be used for 5.4.0 when we bump requirements. Fixes: #668 Change-Id: I83e0402c4a6b2365a63b58d052c6989df3a37328
Diffstat (limited to 'alembic/testing')
-rw-r--r--alembic/testing/plugin/plugin_base.py17
-rw-r--r--alembic/testing/plugin/pytestplugin.py8
2 files changed, 25 insertions, 0 deletions
diff --git a/alembic/testing/plugin/plugin_base.py b/alembic/testing/plugin/plugin_base.py
index 9535282..276bc56 100644
--- a/alembic/testing/plugin/plugin_base.py
+++ b/alembic/testing/plugin/plugin_base.py
@@ -11,10 +11,12 @@ import sys
from sqlalchemy.testing.plugin.plugin_base import * # noqa
from sqlalchemy.testing.plugin.plugin_base import post
+from sqlalchemy.testing.plugin.plugin_base import post_begin as sqla_post_begin
from sqlalchemy.testing.plugin.plugin_base import stop_test_class as sqla_stc
py3k = sys.version_info >= (3, 0)
+
if py3k:
ABC = abc.ABC
@@ -24,6 +26,21 @@ else:
__metaclass__ = abc.ABCMeta
+def post_begin():
+ sqla_post_begin()
+
+ import warnings
+
+ try:
+ import pytest
+ except ImportError:
+ pass
+ else:
+ warnings.filterwarnings(
+ "once", category=pytest.PytestDeprecationWarning
+ )
+
+
# override selected SQLAlchemy pytest hooks with vendored functionality
def stop_test_class(cls):
sqla_stc(cls)
diff --git a/alembic/testing/plugin/pytestplugin.py b/alembic/testing/plugin/pytestplugin.py
index d6efdf4..1c8be05 100644
--- a/alembic/testing/plugin/pytestplugin.py
+++ b/alembic/testing/plugin/pytestplugin.py
@@ -33,6 +33,14 @@ def pytest_configure(config):
def pytest_pycollect_makeitem(collector, name, obj):
if inspect.isclass(obj) and plugin_base.want_class(name, obj):
+
+ # in pytest 5.4.0
+ # return [
+ # pytest.Class.from_parent(collector,
+ # name=parametrize_cls.__name__)
+ # for parametrize_cls in _parametrize_cls(collector.module, obj)
+ # ]
+
return [
pytest.Class(parametrize_cls.__name__, parent=collector)
for parametrize_cls in _parametrize_cls(collector.module, obj)