diff --git a/python-sqlalchemy-1.4.28-fix-tests.patch b/python-sqlalchemy-1.4.28-fix-tests.patch new file mode 100644 index 0000000..8acb933 --- /dev/null +++ b/python-sqlalchemy-1.4.28-fix-tests.patch @@ -0,0 +1,71 @@ +From 4f0bf86eec0ea557b2df31cce28612d5f124a8a3 Mon Sep 17 00:00:00 2001 +From: Nils Philippsen +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 + diff --git a/python-sqlalchemy.spec b/python-sqlalchemy.spec index 871cc38..a12175e 100644 --- a/python-sqlalchemy.spec +++ b/python-sqlalchemy.spec @@ -25,6 +25,9 @@ Summary: Modular and flexible ORM library for python License: MIT URL: http://www.sqlalchemy.org/ Source0: https://files.pythonhosted.org/packages/source/S/%{srcname}/%{srcname}-%{srcversion}.tar.gz +# Fix tests failing on certain architectures, merged upstream. +# https://github.com/sqlalchemy/sqlalchemy/pull/7451 +Patch0: python-sqlalchemy-1.4.28-fix-tests.patch BuildRequires: gcc BuildRequires: python3-devel >= 3.6 @@ -75,6 +78,7 @@ This package includes the python 3 version of the module. %prep %setup -q -n %{srcname}-%{srcversion} +%patch0 -p1 -b .fix-tests # Remove flag for pytest-xdist. (python2-pytest-xdist is a removed dependency.) # (--max-worker-restart=5 would end the test run after 5 crashing tests.) @@ -105,7 +109,7 @@ PYTHONPATH=. %{__python3} -m pytest test \ %{python3_sitearch}/* %changelog -* Sun Dec 12 2021 Nils Philippsen - 1.4.28-1 +* Wed Dec 15 2021 Nils Philippsen - 1.4.28-1 - version 1.4.28 - remove build dependency on python3-mock