forked from pool/python-matplotlib
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>
|
||||
|
||||
|
@ -41,6 +41,8 @@ Source1: matplotlib-mplsetup.cfg
|
||||
# Bundled version of freetype and qhull for testing purposes only
|
||||
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
|
||||
# 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 FontTools >= 4.22.0}
|
||||
BuildRequires: %{python_module devel}
|
||||
@ -91,6 +93,7 @@ BuildRequires: %{python_module matplotlib-testdata = %{version}}
|
||||
BuildRequires: %{python_module matplotlib-tk = %{version}}
|
||||
BuildRequires: %{python_module matplotlib-web = %{version}}
|
||||
BuildRequires: %{python_module matplotlib-wx = %{version}}
|
||||
BuildRequires: %{python_module psutil}
|
||||
BuildRequires: %{python_module pytest-xdist}
|
||||
BuildRequires: %{python_module pytest-xvfb}
|
||||
BuildRequires: %{python_module pytest}
|
||||
@ -288,11 +291,13 @@ skip_tests+=" or (test_fig_close and Qt4Agg)"
|
||||
skip_tests+=" or test_invisible_Line_rendering"
|
||||
# too much memory consumption on obs parallel workers
|
||||
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
|
||||
# image comparison failures due to precisions dicrepancies to the x86 produced references
|
||||
skip_tests+=" or png or svg or pdf"
|
||||
# flaky signal termination tests inside obs
|
||||
skip_tests+=" or _sigint"
|
||||
%endif
|
||||
%{pytest_arch --pyargs matplotlib.tests \
|
||||
--pyargs mpl_toolkits.tests \
|
||||
|
Loading…
Reference in New Issue
Block a user