diff --git a/py314.patch b/py314.patch new file mode 100644 index 0000000..f823886 --- /dev/null +++ b/py314.patch @@ -0,0 +1,98 @@ +Index: pyhamcrest-2.1.0/tests/hamcrest_unit_test/core/future_test.py +=================================================================== +--- pyhamcrest-2.1.0.orig/tests/hamcrest_unit_test/core/future_test.py ++++ pyhamcrest-2.1.0/tests/hamcrest_unit_test/core/future_test.py +@@ -41,13 +41,13 @@ class FutureExceptionTest(MatcherTest): + await resolved(raise_exception()), + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testDoesNotMatchIfActualIsNotAFuture(self): + async def test(): + self.assert_does_not_match("Not a future", future_raising(TypeError), 23) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testDoesNotMatchIfFutureIsNotDone(self): + future = asyncio.Future() +@@ -73,7 +73,7 @@ class FutureExceptionTest(MatcherTest): + expected_message, future_raising(TypeError), await resolved(raise_exception()) + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + @pytest.mark.skipif(sys.version_info < (3, 7), reason="Message differs between Python versions") + def testDoesNotMatchIfFutureHasTheWrongExceptionTypePy37(self): +@@ -88,7 +88,7 @@ class FutureExceptionTest(MatcherTest): + expected_message, future_raising(TypeError), await resolved(raise_exception()) + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testMatchesIfFutureHasASubclassOfTheExpectedException(self): + async def test(): +@@ -98,7 +98,7 @@ class FutureExceptionTest(MatcherTest): + await resolved(raise_exception()), + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testDoesNotMatchIfFutureDoesNotHaveException(self): + async def test(): +@@ -106,7 +106,7 @@ class FutureExceptionTest(MatcherTest): + "No exception", future_raising(ValueError), await resolved(no_exception()) + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testDoesNotMatchExceptionIfRegularExpressionDoesNotMatch(self): + async def test(): +@@ -121,7 +121,7 @@ class FutureExceptionTest(MatcherTest): + await resolved(raise_exception()), + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testMatchesRegularExpressionToStringifiedException(self): + async def test(): +@@ -137,7 +137,7 @@ class FutureExceptionTest(MatcherTest): + await resolved(raise_exception(3, 1, 4)), + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testMachesIfExceptionMatchesAdditionalMatchers(self): + async def test(): +@@ -147,7 +147,7 @@ class FutureExceptionTest(MatcherTest): + await resolved(raise_exception_with_properties(prip="prop")), + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testDoesNotMatchIfAdditionalMatchersDoesNotMatch(self): + async def test(): +@@ -162,7 +162,7 @@ class FutureExceptionTest(MatcherTest): + await resolved(raise_exception_with_properties(prip="prop")), + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) + + def testDoesNotMatchIfNeitherPatternOrMatcherMatch(self): + async def test(): +@@ -181,4 +181,4 @@ class FutureExceptionTest(MatcherTest): + await resolved(raise_exception_with_properties(prip="prop")), + ) + +- asyncio.get_event_loop().run_until_complete(test()) ++ asyncio.new_event_loop().run_until_complete(test()) diff --git a/python-PyHamcrest.changes b/python-PyHamcrest.changes index e749351..6450167 100644 --- a/python-PyHamcrest.changes +++ b/python-PyHamcrest.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Sep 24 10:38:32 UTC 2025 - Markéta Machová + +- Add py314.patch to fix tests with Python 3.14 + ------------------------------------------------------------------- Sat Jan 27 11:03:23 UTC 2024 - Dirk Müller diff --git a/python-PyHamcrest.spec b/python-PyHamcrest.spec index 1a91ce7..6958977 100644 --- a/python-PyHamcrest.spec +++ b/python-PyHamcrest.spec @@ -1,7 +1,7 @@ # # spec file for package python-PyHamcrest # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -25,6 +25,8 @@ License: BSD-3-Clause URL: https://github.com/hamcrest/PyHamcrest Source: https://files.pythonhosted.org/packages/source/p/pyhamcrest/pyhamcrest-%{version}.tar.gz Patch0: 0001-Add-boolean-matchers.patch +# PATCH-FIX-UPSTREAM https://github.com/hamcrest/PyHamcrest/pull/270 use asyncio.new_event_loop in tests for compatibility with Python 3.14 +Patch1: py314.patch BuildRequires: %{python_module hatch_vcs} BuildRequires: %{python_module hatchling} BuildRequires: %{python_module hypothesis >= 1.11}