diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-03-12 19:59:34 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-03-12 20:00:12 -0400 |
commit | d2457c772128fdf0a94084feaaa2844387d92c2b (patch) | |
tree | a28f9692362df6c688b29611e893206a367d8047 /alembic/testing | |
parent | fe8e7cca5bce0d6f9d05bb1e48f407fc8cbfdf50 (diff) | |
download | alembic-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.py | 17 | ||||
-rw-r--r-- | alembic/testing/plugin/pytestplugin.py | 8 |
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) |