]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Support pytest 6.x
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 27 Sep 2020 01:01:01 +0000 (21:01 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 27 Sep 2020 01:01:01 +0000 (21:01 -0400)
pytest has removed support for pytest.Class().collect()
and we need to use from_parent.

Change-Id: Ia5fed9b22e76c99f71489283acee207f996f52a4

lib/sqlalchemy/testing/plugin/pytestplugin.py

index ca3fbe4a8e793e54608eadf3f94bd8d9b98a6f0b..a4ace4e24d20ca768b0e2f8df33bdc7633c06706 100644 (file)
@@ -208,13 +208,10 @@ def pytest_collection_modifyitems(session, config, items):
             if sub_cls is not test_class.cls:
                 per_cls_dict = rebuilt_items[test_class.cls]
 
-                # in pytest 5.4.0
-                # for inst in pytest.Class.from_parent(
-                #     test_class.parent.parent, name=sub_cls.__name__
-                # ).collect():
-
-                for inst in pytest.Class(
-                    sub_cls.__name__, parent=test_class.parent.parent
+                # support pytest 5.4.0 and above pytest.Class.from_parent
+                ctor = getattr(pytest.Class, "from_parent", pytest.Class)
+                for inst in ctor(
+                    name=sub_cls.__name__, parent=test_class.parent.parent
                 ).collect():
                     for t in inst.collect():
                         per_cls_dict[t.name].append(t)