python-sqlalchemy/python-sqlalchemy-1.4.28-fix-tests.patch
Nils Philippsen a4f0b35008 Fix tests failing on arm & s390x
Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2021-12-15 22:40:50 +01:00

72 lines
2.7 KiB
Diff

From 4f0bf86eec0ea557b2df31cce28612d5f124a8a3 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@tiptoe.de>
Date: Sun, 12 Dec 2021 18:35:03 -0500
Subject: [PATCH] Ignore ephemeral classes in test_all_present()
Fixed a regression in the test suite where the test called
``CompareAndCopyTest::test_all_present`` would fail on some platforms due
to additional testing artifacts being detected. Pull request courtesy Nils
Philippsen.
In some circumstances, ephemeral class objects that are created within
the scope of a test method don't seem to be garbage collected directly
on exit. Filter out classes created in test modules.
Fixes: #7450
Closes: #7451
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7451
Pull-request-sha: 135a8aaba2c6941460c7f45aa1a55c8f6b9eb43d
Change-Id: I621967bd916089dc1e3f98625fd2a852cd9fd712
(cherry picked from commit 4291e3c235569031948ebaacec4dde8776255e0e)
---
doc/build/changelog/unreleased_14/7450.rst | 9 +++++++++
test/sql/test_compare.py | 6 +++++-
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 doc/build/changelog/unreleased_14/7450.rst
diff --git a/doc/build/changelog/unreleased_14/7450.rst b/doc/build/changelog/unreleased_14/7450.rst
new file mode 100644
index 000000000..56aaa1d4f
--- /dev/null
+++ b/doc/build/changelog/unreleased_14/7450.rst
@@ -0,0 +1,9 @@
+.. change::
+ :tags: bug, tests, regression
+ :tickets: 7450
+
+ Fixed a regression in the test suite where the test called
+ ``CompareAndCopyTest::test_all_present`` would fail on some platforms due
+ to additional testing artifacts being detected. Pull request courtesy Nils
+ Philippsen.
+
diff --git a/test/sql/test_compare.py b/test/sql/test_compare.py
index a5252601c..a4684cccf 100644
--- a/test/sql/test_compare.py
+++ b/test/sql/test_compare.py
@@ -1357,6 +1357,10 @@ class CompareAndCopyTest(CoreFixtures, fixtures.TestBase):
]
def test_all_present(self):
+ """test for elements that are in SQLAlchemy Core, that they are
+ also included in the fixtures above.
+
+ """
need = set(
cls
for cls in class_hierarchy(ClauseElement)
@@ -1364,9 +1368,9 @@ class CompareAndCopyTest(CoreFixtures, fixtures.TestBase):
and (
"__init__" in cls.__dict__
or issubclass(cls, AliasedReturnsRows)
- or "inherit_cache" not in cls.__dict__
)
and not issubclass(cls, (Annotated))
+ and cls.__module__.startswith("sqlalchemy.")
and "orm" not in cls.__module__
and "compiler" not in cls.__module__
and "crud" not in cls.__module__
--
2.33.1