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): """
