Accepting request 979387 from home:bnavigator:branches:devel:languages:python:numeric
- Skip a flaky leak test, move sigint test skip to all archs - Add matplotlib-pr22975-fixarray.patch, gh#matplotlib/matplotlib#22975, required for astropy 5.1 OBS-URL: https://build.opensuse.org/request/show/979387 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-matplotlib?expand=0&rev=61
This commit is contained in:
parent
61583fdf9b
commit
a1ff5e2405
60
matplotlib-pr22975-fixarray.patch
Normal file
60
matplotlib-pr22975-fixarray.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From 29ce2c226aafc170cb9b874e81b158c832322cf7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jody Klymak <jklymak@gmail.com>
|
||||||
|
Date: Thu, 5 May 2022 04:38:49 +0000
|
||||||
|
Subject: [PATCH] FIX: fix check_1d to also check for ndim
|
||||||
|
|
||||||
|
Arrays sometimes don't have all the methods arrays should have, so
|
||||||
|
add another check here. Plot requires both ndim and shape and this
|
||||||
|
will extract the numpy array if x does not have those attributes.
|
||||||
|
Otherwise leave the object alone, because unit support (currently only
|
||||||
|
in plot) requires the object to retain the unit info.
|
||||||
|
---
|
||||||
|
lib/matplotlib/cbook/__init__.py | 7 ++++++-
|
||||||
|
lib/matplotlib/tests/test_units.py | 19 +++++++++++++++++++
|
||||||
|
2 files changed, 25 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py
|
||||||
|
index 774643fc9c99..5a955ed459c5 100644
|
||||||
|
--- a/lib/matplotlib/cbook/__init__.py
|
||||||
|
+++ b/lib/matplotlib/cbook/__init__.py
|
||||||
|
@@ -1333,7 +1333,12 @@ def _check_1d(x):
|
||||||
|
"""Convert scalars to 1D arrays; pass-through arrays as is."""
|
||||||
|
# Unpack in case of e.g. Pandas or xarray object
|
||||||
|
x = _unpack_to_numpy(x)
|
||||||
|
- if not hasattr(x, 'shape') or len(x.shape) < 1:
|
||||||
|
+ # plot requires `shape` and `ndim`. If passed an
|
||||||
|
+ # object that doesn't provide them, then force to numpy array.
|
||||||
|
+ # Note this will strip unit information.
|
||||||
|
+ if (not hasattr(x, 'shape') or
|
||||||
|
+ not hasattr(x, 'ndim') or
|
||||||
|
+ len(x.shape) < 1):
|
||||||
|
return np.atleast_1d(x)
|
||||||
|
else:
|
||||||
|
return x
|
||||||
|
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
|
||||||
|
index 93a12cebb2c8..d3b8c5a71643 100644
|
||||||
|
--- a/lib/matplotlib/tests/test_units.py
|
||||||
|
+++ b/lib/matplotlib/tests/test_units.py
|
||||||
|
@@ -264,3 +264,22 @@ def test_empty_default_limits(quantity_converter):
|
||||||
|
fig.draw_without_rendering()
|
||||||
|
assert ax.get_ylim() == (0, 100)
|
||||||
|
assert ax.get_xlim() == (28.5, 31.5)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# test array-like objects...
|
||||||
|
+class Kernel:
|
||||||
|
+ def __init__(self, array):
|
||||||
|
+ self._array = np.asanyarray(array)
|
||||||
|
+
|
||||||
|
+ def __array__(self):
|
||||||
|
+ return self._array
|
||||||
|
+
|
||||||
|
+ @property
|
||||||
|
+ def shape(self):
|
||||||
|
+ return self._array.shape
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def test_plot_kernel():
|
||||||
|
+ # just a smoketest that fail
|
||||||
|
+ kernel = Kernel([1, 2, 3, 4, 5])
|
||||||
|
+ plt.plot(kernel)
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 26 16:23:46 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Skip a flaky leak test, move sigint test skip to all archs
|
||||||
|
- Add matplotlib-pr22975-fixarray.patch,
|
||||||
|
gh#matplotlib/matplotlib#22975, required for astropy 5.1
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed May 4 19:15:13 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
Wed May 4 19:15:13 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
@ -41,6 +41,8 @@ Source1: matplotlib-mplsetup.cfg
|
|||||||
# Bundled version of freetype and qhull for testing purposes only
|
# Bundled version of freetype and qhull for testing purposes only
|
||||||
Source98: http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz
|
Source98: http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz
|
||||||
Source99: https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz
|
Source99: https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM matplotlib-pr22975-fixarray.patch -- gh#matplotlib/matplotlib#22975, required for astropy 5.1
|
||||||
|
Patch1: https://github.com/matplotlib/matplotlib/pull/22975.patch#/matplotlib-pr22975-fixarray.patch
|
||||||
BuildRequires: %{python_module Cycler >= 0.10}
|
BuildRequires: %{python_module Cycler >= 0.10}
|
||||||
BuildRequires: %{python_module FontTools >= 4.22.0}
|
BuildRequires: %{python_module FontTools >= 4.22.0}
|
||||||
BuildRequires: %{python_module devel}
|
BuildRequires: %{python_module devel}
|
||||||
@ -91,6 +93,7 @@ BuildRequires: %{python_module matplotlib-testdata = %{version}}
|
|||||||
BuildRequires: %{python_module matplotlib-tk = %{version}}
|
BuildRequires: %{python_module matplotlib-tk = %{version}}
|
||||||
BuildRequires: %{python_module matplotlib-web = %{version}}
|
BuildRequires: %{python_module matplotlib-web = %{version}}
|
||||||
BuildRequires: %{python_module matplotlib-wx = %{version}}
|
BuildRequires: %{python_module matplotlib-wx = %{version}}
|
||||||
|
BuildRequires: %{python_module psutil}
|
||||||
BuildRequires: %{python_module pytest-xdist}
|
BuildRequires: %{python_module pytest-xdist}
|
||||||
BuildRequires: %{python_module pytest-xvfb}
|
BuildRequires: %{python_module pytest-xvfb}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
@ -288,11 +291,13 @@ skip_tests+=" or (test_fig_close and Qt4Agg)"
|
|||||||
skip_tests+=" or test_invisible_Line_rendering"
|
skip_tests+=" or test_invisible_Line_rendering"
|
||||||
# too much memory consumption on obs parallel workers
|
# too much memory consumption on obs parallel workers
|
||||||
skip_tests+=" or (test_agg and chunksize) or test_throw_rendering_complexity_exceeded"
|
skip_tests+=" or (test_agg and chunksize) or test_throw_rendering_complexity_exceeded"
|
||||||
|
# testing interactive backend leaks inside obs is flaky
|
||||||
|
skip_tests+=" or (test_backends_interactive and test_figure_leak_20490)"
|
||||||
|
# flaky signal termination tests inside obs
|
||||||
|
skip_tests+=" or _sigint"
|
||||||
%ifnarch x86_64
|
%ifnarch x86_64
|
||||||
# image comparison failures due to precisions dicrepancies to the x86 produced references
|
# image comparison failures due to precisions dicrepancies to the x86 produced references
|
||||||
skip_tests+=" or png or svg or pdf"
|
skip_tests+=" or png or svg or pdf"
|
||||||
# flaky signal termination tests inside obs
|
|
||||||
skip_tests+=" or _sigint"
|
|
||||||
%endif
|
%endif
|
||||||
%{pytest_arch --pyargs matplotlib.tests \
|
%{pytest_arch --pyargs matplotlib.tests \
|
||||||
--pyargs mpl_toolkits.tests \
|
--pyargs mpl_toolkits.tests \
|
||||||
|
Loading…
Reference in New Issue
Block a user