Update with required changes #3

Manually merged
dgarcia merged 2 commits from mcalabkova/python-matplotlib:leap-16.0 into leap-16.0 2026-03-03 15:10:01 +01:00
3 changed files with 60 additions and 7 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,15 @@
-------------------------------------------------------------------
Thu Feb 26 11:39:37 UTC 2026 - Daniel Garcia <daniel.garcia@suse.com>
- Adapt %suse_version checks to support new %suse_version design for
16.1 and following (1610, 1620, 1630...)
-------------------------------------------------------------------
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
-------------------------------------------------------------------
Thu Jul 3 07:36:25 UTC 2025 - Nico Krapp <nico.krapp@suse.com>

View File

@@ -16,8 +16,6 @@
#
%define SLE_VERSION 1600
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
@@ -38,7 +36,7 @@ ExclusiveArch: x86_64 aarch64
%endif
# Disable wxWidgets backend in Factory Ring 1 (Minimal-X) and SLE <= 16
%if %{with ringdisabled} || 0%{?suse_version} <= %SLE_VERSION
%if %{with ringdisabled} || 0%{?suse_version} < 1699
%bcond_with wx
%else
%bcond_without wx
@@ -61,6 +59,8 @@ Source100: python-matplotlib.rpmlintrc
Patch1: matplotlib-meson-options-opensuse.patch
# PATCH-FIX-UPSTREAM Pillow-13-compat.patch https://github.com/matplotlib/matplotlib/pull/30221
Patch2: Pillow-13-compat.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
@@ -124,7 +124,7 @@ BuildRequires: %{python_module cairo >= 1.14.0}
BuildRequires: %{python_module cairocffi >= 0.8}
# /SECTION cairo
# SECTION nbagg backend tests: not in Minimal-X or SLE <= 16
%if %{without ringdisabled} && 0%{?suse_version} > %SLE_VERSION
%if %{without ringdisabled} && 0%{?suse_version} >= 1699
BuildRequires: %{python_module matplotlib-nbagg = %{version}}
BuildRequires: %{python_module nbconvert if %python-base >= 3.10}
BuildRequires: %{python_module nbformat if %python-base >= 3.10}
@@ -134,7 +134,7 @@ BuildRequires: %{python_module nbformat if %python-base >= 3.10}
%if %{with qt}
BuildRequires: %{python_module PyQt6}
BuildRequires: %{python_module matplotlib-qt = %{version}}
%if %{without ringdisabled} && 0%{?suse_version} > %SLE_VERSION
%if %{without ringdisabled} && 0%{?suse_version} >= 1699
# Don'test Pyside6 in Minimal-X or Leap <=16
BuildRequires: python3-pyside6
%endif
@@ -360,7 +360,7 @@ skip_tests+=" or png or svg or pdf"
skip_tests+=" or (test_backend_pgf and test_rcupdate)"
# Fails in SLFO:Main
%if 0%{?suse_version} <= %SLE_VERSION
%if 0%{?suse_version} < 1699
# Timeout, this test freeze forever
skip_tests+=" or test_determinism"
skip_tests+=" or test_pcolormesh[png] or test_pcolormesh_alpha[png]"
@@ -495,7 +495,7 @@ $python -m pytest --pyargs matplotlib.tests \
%{python_sitearch}/matplotlib/backends/_backend_gtk.py
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/_backend_gtk.*.py*
%if 0%{?suse_version} > %SLE_VERSION
%if 0%{?suse_version} >= 1699
%files %{python_files nbagg}
%license LICENSE/
%{python_sitearch}/matplotlib/backends/backend_nbagg.py*