Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-matplotlib for 
openSUSE:Factory checked in at 2026-09-28 10:35:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-matplotlib (Old)
 and      /work/SRC/openSUSE:Factory/.python-matplotlib.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-matplotlib"

Mon Sep 28 10:35:34 2026 rev:133 rq:1379956 version:3.10.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-matplotlib/python-matplotlib.changes      
2026-08-27 18:50:05.799905292 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-matplotlib.new.383539/python-matplotlib.changes
  2026-09-28 10:36:37.449253190 +0200
@@ -1,0 +2,5 @@
+Wed Sep 23 12:56:30 UTC 2026 - Markéta Machová <[email protected]>
+
+- Add upstream pytest91.patch to fix tests with pytest 9.1
+
+-------------------------------------------------------------------

New:
----
  pytest91.patch

----------(New B)----------
  New:
- Add upstream pytest91.patch to fix tests with pytest 9.1
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-matplotlib.spec ++++++
--- /var/tmp/diff_new_pack.i8AT6q/_old  2026-09-28 10:36:39.762350146 +0200
+++ /var/tmp/diff_new_pack.i8AT6q/_new  2026-09-28 10:36:39.766350313 +0200
@@ -61,6 +61,8 @@
 Patch2:         py314.patch
 # PATCH-FIX-UPSTREAM https://github.com/matplotlib/matplotlib/pull/31554 BUG: 
avoid a deprecation warning from numpy 2.5 (calling datetime64('NaT') without a 
unit is deprecated)
 Patch3:         np25.patch
+# PATCH-FIX-UPSTREAM https://github.com/matplotlib/matplotlib/pull/31906 TST: 
unpin pytest
+Patch4:         pytest91.patch
 Recommends:     ghostscript
 Recommends:     libxml2-tools
 Recommends:     poppler-tools

++++++ pytest91.patch ++++++
>From cf5cebedbbef083289a2153b3c713a627f8acb30 Mon Sep 17 00:00:00 2001
From: Tim Hoffmann <[email protected]>
Date: Thu, 18 Jun 2026 17:31:03 +0200
Subject: [PATCH] Backport PR #31906: TST: unpin pytest

---
 environment.yml                        | 2 +-
 lib/matplotlib/tests/test_animation.py | 4 ++--
 lib/matplotlib/tests/test_mathtext.py  | 8 ++++----
 lib/matplotlib/tests/test_mlab.py      | 8 ++------
 lib/matplotlib/tests/test_path.py      | 2 +-
 lib/matplotlib/tests/test_rcparams.py  | 4 ++--
 lib/matplotlib/tests/test_ticker.py    | 4 ++--
 pyproject.toml                         | 2 +-
 8 files changed, 15 insertions(+), 19 deletions(-)

Index: matplotlib-3.10.9/lib/matplotlib/tests/test_animation.py
===================================================================
--- matplotlib-3.10.9.orig/lib/matplotlib/tests/test_animation.py
+++ matplotlib-3.10.9/lib/matplotlib/tests/test_animation.py
@@ -174,7 +174,7 @@ def gen_writers():
 # Smoke test for saving animations.  In the future, we should probably
 # design more sophisticated tests which compare resulting frames a-la
 # matplotlib.testing.image_comparison
[email protected]('writer, frame_format, output', gen_writers())
[email protected]('writer, frame_format, output', list(gen_writers()))
 @pytest.mark.parametrize('anim', [dict(klass=dict)], indirect=['anim'])
 def test_save_animation_smoketest(tmpdir, writer, frame_format, output, anim):
     if frame_format is not None:
@@ -197,7 +197,7 @@ def test_save_animation_smoketest(tmpdir
     del anim
 
 
[email protected]('writer, frame_format, output', gen_writers())
[email protected]('writer, frame_format, output', list(gen_writers()))
 def test_grabframe(tmpdir, writer, frame_format, output):
     WriterClass = animation.writers[writer]
 
Index: matplotlib-3.10.9/lib/matplotlib/tests/test_mathtext.py
===================================================================
--- matplotlib-3.10.9.orig/lib/matplotlib/tests/test_mathtext.py
+++ matplotlib-3.10.9/lib/matplotlib/tests/test_mathtext.py
@@ -209,7 +209,7 @@ def baseline_images(request, fontset, in
 
 
 @pytest.mark.parametrize(
-    'index, text', enumerate(math_tests), ids=range(len(math_tests)))
+    'index, text', list(enumerate(math_tests)), ids=range(len(math_tests)))
 @pytest.mark.parametrize(
     'fontset', ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif'])
 @pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True)
@@ -222,7 +222,7 @@ def test_mathtext_rendering(baseline_ima
              horizontalalignment='center', verticalalignment='center')
 
 
[email protected]('index, text', enumerate(svgastext_math_tests),
[email protected]('index, text', list(enumerate(svgastext_math_tests)),
                          ids=range(len(svgastext_math_tests)))
 @pytest.mark.parametrize('fontset', ['cm', 'dejavusans'])
 @pytest.mark.parametrize('baseline_images', ['mathtext0'], indirect=True)
@@ -239,7 +239,7 @@ def test_mathtext_rendering_svgastext(ba
              horizontalalignment='center', verticalalignment='center')
 
 
[email protected]('index, text', enumerate(lightweight_math_tests),
[email protected]('index, text', 
list(enumerate(lightweight_math_tests)),
                          ids=range(len(lightweight_math_tests)))
 @pytest.mark.parametrize('fontset', ['dejavusans'])
 @pytest.mark.parametrize('baseline_images', ['mathtext1'], indirect=True)
@@ -251,7 +251,7 @@ def test_mathtext_rendering_lightweight(
 
 
 @pytest.mark.parametrize(
-    'index, text', enumerate(font_tests), ids=range(len(font_tests)))
+    'index, text', list(enumerate(font_tests)), ids=range(len(font_tests)))
 @pytest.mark.parametrize(
     'fontset', ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif'])
 @pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True)
Index: matplotlib-3.10.9/lib/matplotlib/tests/test_mlab.py
===================================================================
--- matplotlib-3.10.9.orig/lib/matplotlib/tests/test_mlab.py
+++ matplotlib-3.10.9/lib/matplotlib/tests/test_mlab.py
@@ -205,7 +205,8 @@ class TestDetrend:
     scope='class')
 class TestSpectral:
     @pytest.fixture(scope='class', autouse=True)
-    def stim(self, request, fstims, iscomplex, sides, len_x, NFFT_density,
+    @classmethod
+    def stim(cls, request, fstims, iscomplex, sides, len_x, NFFT_density,
              nover_density, pad_to_density, pad_to_spectrum):
         Fs = 100.
 
@@ -321,11 +322,6 @@ class TestSpectral:
         if iscomplex:
             y = y.astype('complex')
 
-        # Interestingly, the instance on which this fixture is called is not
-        # the same as the one on which a test is run. So we need to modify the
-        # class itself when using a class-scoped fixture.
-        cls = request.cls
-
         cls.Fs = Fs
         cls.sides = sides
         cls.fstims = fstims
Index: matplotlib-3.10.9/lib/matplotlib/tests/test_path.py
===================================================================
--- matplotlib-3.10.9.orig/lib/matplotlib/tests/test_path.py
+++ matplotlib-3.10.9/lib/matplotlib/tests/test_path.py
@@ -105,7 +105,7 @@ _test_path_extents = [(0., 0., 0.75, 1.)
                       (1., 2., 1., 2.)]
 
 
[email protected]('path, extents', zip(_test_paths, _test_path_extents))
[email protected]('path, extents', list(zip(_test_paths, 
_test_path_extents)))
 def test_exact_extents(path, extents):
     # notice that if we just looked at the control points to get the bounding
     # box of each curve, we would get the wrong answers. For example, for
Index: matplotlib-3.10.9/lib/matplotlib/tests/test_rcparams.py
===================================================================
--- matplotlib-3.10.9.orig/lib/matplotlib/tests/test_rcparams.py
+++ matplotlib-3.10.9/lib/matplotlib/tests/test_rcparams.py
@@ -446,7 +446,7 @@ def generate_validator_testcases(valid):
 
 
 @pytest.mark.parametrize('validator, arg, target',
-                         generate_validator_testcases(True))
+                         list(generate_validator_testcases(True)))
 def test_validator_valid(validator, arg, target):
     res = validator(arg)
     if isinstance(target, np.ndarray):
@@ -459,7 +459,7 @@ def test_validator_valid(validator, arg,
 
 
 @pytest.mark.parametrize('validator, arg, exception_type',
-                         generate_validator_testcases(False))
+                         list(generate_validator_testcases(False)))
 def test_validator_invalid(validator, arg, exception_type):
     with pytest.raises(exception_type):
         validator(arg)
Index: matplotlib-3.10.9/lib/matplotlib/tests/test_ticker.py
===================================================================
--- matplotlib-3.10.9.orig/lib/matplotlib/tests/test_ticker.py
+++ matplotlib-3.10.9/lib/matplotlib/tests/test_ticker.py
@@ -460,7 +460,7 @@ class TestLogitLocator:
 
     @pytest.mark.parametrize(
         "lims, expected_low_ticks",
-        zip(ref_basic_limits, ref_basic_major_ticks),
+        list(zip(ref_basic_limits, ref_basic_major_ticks)),
     )
     def test_basic_major(self, lims, expected_low_ticks):
         """
@@ -505,7 +505,7 @@ class TestLogitLocator:
 
     @pytest.mark.parametrize(
         "lims, expected_low_ticks",
-        zip(ref_basic_limits, ref_basic_major_ticks),
+        list(zip(ref_basic_limits, ref_basic_major_ticks)),
     )
     def test_minor(self, lims, expected_low_ticks):
         """

Reply via email to