summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-01-11 19:02:22 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-01-11 19:02:22 +0000
commita869dc8fe3cd579ed9bab665d215a6c3e3d8a4ca (patch)
treefd4e7eb4dac959d80599179d1ac9d07f5ff3f957 /lib/sqlalchemy/testing
parent71b6425db3517fc6194a349e6cc5abea851c7f35 (diff)
parent3a23e8ed29180e914883a263ec83373ecbd02efa (diff)
downloadsqlalchemy-a869dc8fe3cd579ed9bab665d215a6c3e3d8a4ca.tar.gz
Merge "remove internal use of metaclasses" into main
Diffstat (limited to 'lib/sqlalchemy/testing')
-rw-r--r--lib/sqlalchemy/testing/fixtures.py26
1 files changed, 10 insertions, 16 deletions
diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py
index 74c86e85a..ecc20f163 100644
--- a/lib/sqlalchemy/testing/fixtures.py
+++ b/lib/sqlalchemy/testing/fixtures.py
@@ -21,7 +21,6 @@ from .. import event
from .. import util
from ..orm import declarative_base
from ..orm import registry
-from ..orm.decl_api import DeclarativeMeta
from ..schema import sort_tables_and_constraints
@@ -647,15 +646,11 @@ class MappedTest(TablesTest, assertions.AssertsExecutionResults):
"""
cls_registry = cls.classes
- assert cls_registry is not None
-
- class FindFixture(type):
- def __init__(cls, classname, bases, dict_):
- cls_registry[classname] = cls
- type.__init__(cls, classname, bases, dict_)
-
- class _Base(metaclass=FindFixture):
- pass
+ class _Base:
+ def __init_subclass__(cls) -> None:
+ assert cls_registry is not None
+ cls_registry[cls.__name__] = cls
+ super().__init_subclass__()
class Basic(BasicEntity, _Base):
pass
@@ -699,17 +694,16 @@ class DeclarativeMappedTest(MappedTest):
def _with_register_classes(cls, fn):
cls_registry = cls.classes
- class FindFixtureDeclarative(DeclarativeMeta):
- def __init__(cls, classname, bases, dict_):
- cls_registry[classname] = cls
- DeclarativeMeta.__init__(cls, classname, bases, dict_)
-
class DeclarativeBasic:
__table_cls__ = schema.Table
+ def __init_subclass__(cls) -> None:
+ assert cls_registry is not None
+ cls_registry[cls.__name__] = cls
+ super().__init_subclass__()
+
_DeclBase = declarative_base(
metadata=cls._tables_metadata,
- metaclass=FindFixtureDeclarative,
cls=DeclarativeBasic,
)