diff --git a/correct-reset-mock.patch b/correct-reset-mock.patch new file mode 100644 index 0000000..b40aa89 --- /dev/null +++ b/correct-reset-mock.patch @@ -0,0 +1,41 @@ +From 63207bbc8c5f791d1ca5565db39a8e2400165e7b Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Fri, 13 Feb 2026 23:21:46 +0530 +Subject: [PATCH] TST: Use correct method of clearing mock objects + +In Python 3.13.12 and 3.14.3, fixes for thread-safety of mock +`call_count` meant that manually changing it no longer works [1]. +Instead use the more correct `reset_mock` method. + +[1] https://github.com/python/cpython/issues/142651#issuecomment-3872242970 +--- + lib/matplotlib/tests/test_backends_interactive.py | 2 +- + lib/matplotlib/tests/test_colors.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py +index 101c1cb81cad..188983816372 100644 +--- a/lib/matplotlib/tests/test_backends_interactive.py ++++ b/lib/matplotlib/tests/test_backends_interactive.py +@@ -669,7 +669,7 @@ def _impl_test_interactive_timers(): + assert mock.call_count > 1 + + # Now turn it into a single shot timer and verify only one gets triggered +- mock.call_count = 0 ++ mock.reset_mock() + timer.single_shot = True + timer.start() + plt.pause(pause_time) +diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py +index 1c4cebf037e4..0aef16428f9f 100644 +--- a/lib/matplotlib/tests/test_colors.py ++++ b/lib/matplotlib/tests/test_colors.py +@@ -1646,7 +1646,7 @@ def test_norm_callback(): + assert increment.call_count == 2 + + # We only want autoscale() calls to send out one update signal +- increment.call_count = 0 ++ increment.reset_mock() + norm.autoscale([0, 1, 2]) + assert increment.call_count == 1 + diff --git a/python-matplotlib.changes b/python-matplotlib.changes index f2a4407..1934a3a 100644 --- a/python-matplotlib.changes +++ b/python-matplotlib.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 18 10:11:22 UTC 2026 - Daniel Garcia + +- TST: Use correct method of clearing mock objects +- Upstream patch correct-reset-mock.patch, gh#matplotlib/matplotlib#31153 + ------------------------------------------------------------------- Tue Feb 10 14:16:59 UTC 2026 - Markéta Machová diff --git a/python-matplotlib.spec b/python-matplotlib.spec index dbb83e4..171065d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -61,6 +61,8 @@ Source100: python-matplotlib.rpmlintrc Patch1: matplotlib-meson-options-opensuse.patch # PATCH-FIX-UPSTREAM https://github.com/matplotlib/matplotlib/pull/30918 TST: account for asyncio changes in py314 Patch2: py314.patch +# PATCH-FIX-UPSTREAM correct-reset-mock.patch gh#matplotlib/matplotlib#31153 +Patch3: correct-reset-mock.patch Recommends: ghostscript Recommends: libxml2-tools Recommends: poppler-tools