Update with required changes #3
41
correct-reset-mock.patch
Normal file
41
correct-reset-mock.patch
Normal 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
|
||||||
|
|
||||||
@@ -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>
|
Thu Jul 3 07:36:25 UTC 2025 - Nico Krapp <nico.krapp@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define SLE_VERSION 1600
|
|
||||||
|
|
||||||
%global flavor @BUILD_FLAVOR@%{nil}
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
%if "%{flavor}" == "test"
|
%if "%{flavor}" == "test"
|
||||||
%define psuffix -test
|
%define psuffix -test
|
||||||
@@ -38,7 +36,7 @@ ExclusiveArch: x86_64 aarch64
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Disable wxWidgets backend in Factory Ring 1 (Minimal-X) and SLE <= 16
|
# 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
|
%bcond_with wx
|
||||||
%else
|
%else
|
||||||
%bcond_without wx
|
%bcond_without wx
|
||||||
@@ -61,6 +59,8 @@ Source100: python-matplotlib.rpmlintrc
|
|||||||
Patch1: matplotlib-meson-options-opensuse.patch
|
Patch1: matplotlib-meson-options-opensuse.patch
|
||||||
# PATCH-FIX-UPSTREAM Pillow-13-compat.patch https://github.com/matplotlib/matplotlib/pull/30221
|
# PATCH-FIX-UPSTREAM Pillow-13-compat.patch https://github.com/matplotlib/matplotlib/pull/30221
|
||||||
Patch2: Pillow-13-compat.patch
|
Patch2: Pillow-13-compat.patch
|
||||||
|
# PATCH-FIX-UPSTREAM correct-reset-mock.patch gh#matplotlib/matplotlib#31153
|
||||||
|
Patch3: correct-reset-mock.patch
|
||||||
Recommends: ghostscript
|
Recommends: ghostscript
|
||||||
Recommends: libxml2-tools
|
Recommends: libxml2-tools
|
||||||
Recommends: poppler-tools
|
Recommends: poppler-tools
|
||||||
@@ -124,7 +124,7 @@ BuildRequires: %{python_module cairo >= 1.14.0}
|
|||||||
BuildRequires: %{python_module cairocffi >= 0.8}
|
BuildRequires: %{python_module cairocffi >= 0.8}
|
||||||
# /SECTION cairo
|
# /SECTION cairo
|
||||||
# SECTION nbagg backend tests: not in Minimal-X or SLE <= 16
|
# 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 matplotlib-nbagg = %{version}}
|
||||||
BuildRequires: %{python_module nbconvert if %python-base >= 3.10}
|
BuildRequires: %{python_module nbconvert if %python-base >= 3.10}
|
||||||
BuildRequires: %{python_module nbformat 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}
|
%if %{with qt}
|
||||||
BuildRequires: %{python_module PyQt6}
|
BuildRequires: %{python_module PyQt6}
|
||||||
BuildRequires: %{python_module matplotlib-qt = %{version}}
|
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
|
# Don'test Pyside6 in Minimal-X or Leap <=16
|
||||||
BuildRequires: python3-pyside6
|
BuildRequires: python3-pyside6
|
||||||
%endif
|
%endif
|
||||||
@@ -360,7 +360,7 @@ skip_tests+=" or png or svg or pdf"
|
|||||||
skip_tests+=" or (test_backend_pgf and test_rcupdate)"
|
skip_tests+=" or (test_backend_pgf and test_rcupdate)"
|
||||||
|
|
||||||
# Fails in SLFO:Main
|
# Fails in SLFO:Main
|
||||||
%if 0%{?suse_version} <= %SLE_VERSION
|
%if 0%{?suse_version} < 1699
|
||||||
# Timeout, this test freeze forever
|
# Timeout, this test freeze forever
|
||||||
skip_tests+=" or test_determinism"
|
skip_tests+=" or test_determinism"
|
||||||
skip_tests+=" or test_pcolormesh[png] or test_pcolormesh_alpha[png]"
|
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
|
%{python_sitearch}/matplotlib/backends/_backend_gtk.py
|
||||||
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/_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}
|
%files %{python_files nbagg}
|
||||||
%license LICENSE/
|
%license LICENSE/
|
||||||
%{python_sitearch}/matplotlib/backends/backend_nbagg.py*
|
%{python_sitearch}/matplotlib/backends/backend_nbagg.py*
|
||||||
|
|||||||
Reference in New Issue
Block a user