Accepting request 1333726 from devel:languages:python:numeric

- TST: Use correct method of clearing mock objects
- Upstream patch correct-reset-mock.patch, gh#matplotlib/matplotlib#31153

OBS-URL: https://build.opensuse.org/request/show/1333726
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-matplotlib?expand=0&rev=126
This commit is contained in:
2026-02-18 16:04:45 +00:00
committed by Git OBS Bridge
3 changed files with 49 additions and 0 deletions

41
correct-reset-mock.patch Normal file
View File

@@ -0,0 +1,41 @@
From 63207bbc8c5f791d1ca5565db39a8e2400165e7b Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
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

View File

@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Feb 18 10:11:22 UTC 2026 - Daniel Garcia <daniel.garcia@suse.com>
- 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á <mmachova@suse.com>

View File

@@ -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