Update to latest version.

This commit is contained in:
Elliott Sales de Andrade 2020-07-18 23:14:00 -04:00
parent c7c1d89af8
commit 26c79f2797
11 changed files with 95 additions and 614 deletions

2
.gitignore vendored
View File

@ -51,3 +51,5 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-3.2.2-with-freetype-2.10.1.tar.gz
/matplotlib-3.3.0rc1.tar.gz
/matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz
/matplotlib-3.3.0.tar.gz
/matplotlib-3.3.0-with-freetype-2.10.2.tar.gz

View File

@ -1,7 +1,7 @@
From e56c8930052b4ac06f5ae58cac8d97dec728f314 Mon Sep 17 00:00:00 2001
From 9dc36f4d7c7c63c7a38aea73c4c25b0e54c44573 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Wed, 27 Sep 2017 19:35:59 -0400
Subject: [PATCH 1/7] matplotlibrc path search fix
Subject: [PATCH 1/3] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index e19ceabf9..809fff933 100644
index c425fe818..409217f6b 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -536,33 +536,11 @@ def get_data_path(*, _from_rc=None):

View File

@ -1,7 +1,7 @@
From e67b2eb6fb233085fb58e61217a946ea28f3649f Mon Sep 17 00:00:00 2001
From a5bf4b21aa32f3e02cf66e0f8e63ebd2abb7cb61 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Fri, 14 Feb 2020 06:05:42 -0500
Subject: [PATCH 2/7] Set FreeType version to 2.10.1 and update tolerances.
Subject: [PATCH 2/3] Set FreeType version to 2.10.2 and update tolerances.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
@ -10,27 +10,27 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_polar.py | 2 +-
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
setupext.py | 2 +-
6 files changed, 11 insertions(+), 11 deletions(-)
setupext.py | 4 +++-
6 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 809fff933..3c8cd20e0 100644
index 409217f6b..f578a3961 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -1164,7 +1164,7 @@ default_test_modules = [
@@ -1182,7 +1182,7 @@ default_test_modules = [
def _init_tests():
# The version of FreeType to install locally for running the
# tests. This must match the value in `setupext.py`
- LOCAL_FREETYPE_VERSION = '2.6.1'
+ LOCAL_FREETYPE_VERSION = '2.10.1'
+ LOCAL_FREETYPE_VERSION = '2.10.2'
from matplotlib import ft2font
if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index 2a61b232f..107936d19 100644
index 6eedf20d5..bad298928 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -5934,7 +5934,7 @@ def test_normal_axes():
@@ -5955,7 +5955,7 @@ def test_normal_axes():
]
for nn, b in enumerate(bbaxis):
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
@ -39,7 +39,7 @@ index 2a61b232f..107936d19 100644
target = [
[150.0, 119.999, 930.0, 11.111],
@@ -5952,7 +5952,7 @@ def test_normal_axes():
@@ -5973,7 +5973,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11]
targetbb = mtransforms.Bbox.from_bounds(*target)
@ -59,10 +59,10 @@ index 46e6b9663..593b3fb3e 100644
- extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5)
+ extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2)
diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
index 100954ac3..3594a9224 100644
index da9a77c82..a7a98ef59 100644
--- a/lib/matplotlib/tests/test_polar.py
+++ b/lib/matplotlib/tests/test_polar.py
@@ -311,7 +311,7 @@ def test_get_tightbbox_polar():
@@ -314,7 +314,7 @@ def test_get_tightbbox_polar():
fig.canvas.draw()
bb = ax.get_tightbbox(fig.canvas.get_renderer())
assert_allclose(
@ -94,15 +94,22 @@ index 9ad2e0a9a..7c9085a31 100644
diff --git a/setupext.py b/setupext.py
index 4a838eedd..a084f881a 100644
index 19c2868bd..c59ce6706 100644
--- a/setupext.py
+++ b/setupext.py
@@ -126,7 +126,7 @@ _freetype_hashes = {
@@ -121,12 +121,14 @@ _freetype_hashes = {
'955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
'2.10.1':
'3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
+ '2.10.2':
+ 'e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab',
}
# This is the version of FreeType to use when building a local
# version. It must match the value in
# lib/matplotlib.__init__.py and also needs to be changed below in the
# embedded windows build script (grep for "REMINDER" in this file)
-LOCAL_FREETYPE_VERSION = '2.6.1'
+LOCAL_FREETYPE_VERSION = '2.10.1'
+LOCAL_FREETYPE_VERSION = '2.10.2'
LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')

View File

@ -1,28 +0,0 @@
From a200118d059ec46d29ef2e5b71892d60d31a6103 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sun, 28 Jun 2020 17:37:36 -0400
Subject: [PATCH 3/7] Increase default tolerance slightly for 32-bit systems.
Around 900 tests fail on 32-bit systems, but with rather small RMS.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/testing/decorators.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index cb6812d7e..207612d2a 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -378,6 +378,8 @@ def image_comparison(baseline_images, extensions=None, tol=0,
extensions = ['png', 'pdf', 'svg']
if savefig_kwarg is None:
savefig_kwarg = dict() # default no kwargs to savefig
+ if sys.maxsize <= 2**32:
+ tol += 0.06
return _pytest_image_comparison(
baseline_images=baseline_images, extensions=extensions, tol=tol,
freetype_version=freetype_version, remove_text=remove_text,
--
2.25.4

View File

@ -0,0 +1,56 @@
From d54cb926a832a39cee06b677203f8a3d5ff2f084 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 18 Jul 2020 21:40:26 -0400
Subject: [PATCH 3/3] TST: Ignore deprecations when switching backends.
Otherwise, stuff like Qt4 backend cannot be tested because the
deprecation warning will cause a failure.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/testing/conftest.py | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py
index 563a9fc0f..391dd5d49 100644
--- a/lib/matplotlib/testing/conftest.py
+++ b/lib/matplotlib/testing/conftest.py
@@ -78,21 +78,21 @@ def mpl_test_settings(request):
style, = style_marker.args
matplotlib.testing.setup()
- if backend is not None:
- # This import must come after setup() so it doesn't load the
- # default backend prematurely.
- import matplotlib.pyplot as plt
- try:
- plt.switch_backend(backend)
- except ImportError as exc:
- # Should only occur for the cairo backend tests, if neither
- # pycairo nor cairocffi are installed.
- if 'cairo' in backend.lower() or skip_on_importerror:
- pytest.skip("Failed to switch to backend {} ({})."
- .format(backend, exc))
- else:
- raise
with cbook._suppress_matplotlib_deprecation_warning():
+ if backend is not None:
+ # This import must come after setup() so it doesn't load the
+ # default backend prematurely.
+ import matplotlib.pyplot as plt
+ try:
+ plt.switch_backend(backend)
+ except ImportError as exc:
+ # Should only occur for the cairo backend tests, if neither
+ # pycairo nor cairocffi are installed.
+ if 'cairo' in backend.lower() or skip_on_importerror:
+ pytest.skip("Failed to switch to backend {} ({})."
+ .format(backend, exc))
+ else:
+ raise
matplotlib.style.use(style)
try:
yield
--
2.25.4

View File

@ -1,223 +0,0 @@
From 954ebfd469a0979e0817db96760ea1f5542f2729 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Mon, 29 Jun 2020 03:49:29 -0400
Subject: [PATCH 4/7] Update aarch64 tolerances.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_backend_pgf.py | 6 +-----
lib/matplotlib/tests/test_collections.py | 4 +---
lib/matplotlib/tests/test_contour.py | 4 +++-
lib/matplotlib/tests/test_figure.py | 2 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 4 ++--
lib/matplotlib/tests/test_patheffects.py | 2 +-
lib/matplotlib/tests/test_polar.py | 5 ++++-
lib/matplotlib/tests/test_streamplot.py | 4 +---
lib/matplotlib/tests/test_units.py | 4 ++--
lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
11 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
index 2d125ad29..702cc6c35 100644
--- a/lib/matplotlib/tests/test_backend_pgf.py
+++ b/lib/matplotlib/tests/test_backend_pgf.py
@@ -8,7 +8,6 @@ from tempfile import TemporaryDirectory
import numpy as np
import pytest
-import platform
import matplotlib as mpl
import matplotlib.pyplot as plt
@@ -179,10 +178,7 @@ def test_pathclip():
# test mixed mode rendering
@needs_xelatex
@pytest.mark.backend('pgf')
-@image_comparison(['pgf_mixedmode.pdf'], style='default',
- tol={'aarch64': 1.086, 'x86_64': 1.086}.get(
- platform.machine(), 0.0
- ))
+@image_comparison(['pgf_mixedmode.pdf'], style='default')
def test_mixedmode():
rc_xelatex = {'font.family': 'serif',
'pgf.rcfonts': False}
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 77f6e1884..d457fe372 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -1,5 +1,4 @@
import io
-import platform
from types import SimpleNamespace
import numpy as np
@@ -334,8 +333,7 @@ def test_barb_limits():
decimal=1)
-@image_comparison(['EllipseCollection_test_image.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['EllipseCollection_test_image.png'], remove_text=True)
def test_EllipseCollection():
# Test basic functionality
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
index 1a1c5f442..e233a2b79 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -1,4 +1,5 @@
import datetime
+import platform
import re
import numpy as np
@@ -189,7 +190,8 @@ def test_contour_datetime_axis():
@image_comparison(['contour_test_label_transforms.png'],
- remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20',
+ tol={'aarch64': 0.08}.get(platform.machine(), 0))
def test_labels():
# Adapted from pylab_examples example code: contour_demo.py
# see issues #2475, #2843, and #2818 for explanation
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index bb1623509..2340f2199 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -22,7 +22,7 @@ import pytest
@image_comparison(['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.01}.get(platform.machine(), 0))
def test_align_labels():
fig = plt.figure(tight_layout=True)
gs = gridspec.GridSpec(3, 3)
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
index b5fd6e6fe..d07b80bef 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -861,7 +861,7 @@ def test_imshow_endianess():
@image_comparison(['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol={'aarch64': 0.01}.get(platform.machine(), 0),
remove_text=True, style='mpl20')
def test_imshow_masked_interpolation():
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
index df09a884b..b6ccb28dd 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -105,7 +105,7 @@ def test_multiple_keys():
@image_comparison(['rgba_alpha.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.01}.get(platform.machine(), 0))
def test_alpha_rgba():
fig, ax = plt.subplots(1, 1)
ax.plot(range(10), lw=5)
@@ -114,7 +114,7 @@ def test_alpha_rgba():
@image_comparison(['rcparam_alpha.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.01}.get(platform.machine(), 0))
def test_alpha_rcparam():
fig, ax = plt.subplots(1, 1)
ax.plot(range(10), lw=5)
diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
index d8c54e770..77b6ae314 100644
--- a/lib/matplotlib/tests/test_patheffects.py
+++ b/lib/matplotlib/tests/test_patheffects.py
@@ -115,7 +115,7 @@ def test_SimplePatchShadow_offset():
assert pe._offset == (4, 5)
-@image_comparison(['collection'], tol=0.02, style='mpl20')
+@image_comparison(['collection'], tol=0.03, style='mpl20')
def test_collection():
x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100))
data = np.sin(x) + np.cos(y)
diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
index 3594a9224..7b5fd6af9 100644
--- a/lib/matplotlib/tests/test_polar.py
+++ b/lib/matplotlib/tests/test_polar.py
@@ -1,3 +1,5 @@
+import platform
+
import numpy as np
from numpy.testing import assert_allclose
import pytest
@@ -7,7 +9,8 @@ from matplotlib import pyplot as plt
from matplotlib.testing.decorators import image_comparison, check_figures_equal
-@image_comparison(['polar_axes'], style='default')
+@image_comparison(['polar_axes'], style='default',
+ tol={'aarch64': 0.01}.get(platform.machine(), 0))
def test_polar_annotations():
# You can specify the xypoint and the xytext in different positions and
# coordinate systems, and optionally turn on a connecting line and mark the
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index d2218f6f2..2e795c2a3 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -1,5 +1,4 @@
import sys
-import platform
import numpy as np
from numpy.testing import assert_array_almost_equal
@@ -48,8 +47,7 @@ def test_colormap():
plt.colorbar()
-@image_comparison(['streamplot_linewidth'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['streamplot_linewidth'], remove_text=True, style='mpl20')
def test_linewidth():
X, Y, U, V = velocity_field()
speed = np.hypot(U, V)
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index 25396ff0f..137b12aa9 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -74,7 +74,7 @@ def quantity_converter():
# Tests that the conversion machinery works properly for classes that
# work as a facade over numpy arrays (like pint)
@image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.01}.get(platform.machine(), 0))
def test_numpy_facade(quantity_converter):
# use former defaults to match existing baseline image
plt.rcParams['axes.formatter.limits'] = -7, 7
@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
# Tests gh-8908
@image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.01}.get(platform.machine(), 0))
def test_plot_masked_units():
data = np.linspace(-5, 5)
data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
index 0aa2c7600..30ea87445 100644
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
@@ -331,7 +331,7 @@ def test_zooming_with_inverted_axes():
@image_comparison(['anchored_direction_arrows.png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.01}.get(platform.machine(), 0))
def test_anchored_direction_arrows():
fig, ax = plt.subplots()
ax.imshow(np.zeros((10, 10)), interpolation='nearest')
--
2.25.4

View File

@ -1,219 +0,0 @@
From efd56e93d7e8f6a63d734f98c6110795dd914418 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Mon, 29 Jun 2020 17:29:56 -0400
Subject: [PATCH 5/7] Increase tolerance for ppc64le and s390x.
These are mostly the same as the aarch64 increased tolerances.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_arrow_patches.py | 6 ++++--
lib/matplotlib/tests/test_axes.py | 3 ++-
lib/matplotlib/tests/test_contour.py | 3 ++-
lib/matplotlib/tests/test_figure.py | 3 ++-
lib/matplotlib/tests/test_image.py | 3 ++-
lib/matplotlib/tests/test_legend.py | 9 ++++++---
lib/matplotlib/tests/test_pickle.py | 3 ++-
lib/matplotlib/tests/test_polar.py | 3 ++-
lib/matplotlib/tests/test_units.py | 6 ++++--
lib/mpl_toolkits/tests/test_axes_grid1.py | 3 ++-
.../tests/test_axisartist_grid_helper_curvelinear.py | 3 ++-
11 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
index 2218a2e7f..037558c02 100644
--- a/lib/matplotlib/tests/test_arrow_patches.py
+++ b/lib/matplotlib/tests/test_arrow_patches.py
@@ -67,7 +67,8 @@ def __prepare_fancyarrow_dpi_cor_test():
@image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol={'aarch64': 0.02, 'ppc64le': 0.02,
+ 's390x': 0.02}.get(platform.machine(), 0),
savefig_kwarg=dict(dpi=100))
def test_fancyarrow_dpi_cor_100dpi():
"""
@@ -82,7 +83,8 @@ def test_fancyarrow_dpi_cor_100dpi():
@image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol={'aarch64': 0.02, 'ppc64le': 0.02,
+ 's390x': 0.02}.get(platform.machine(), 0),
savefig_kwarg=dict(dpi=200))
def test_fancyarrow_dpi_cor_200dpi():
"""
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index 107936d19..48cfdf582 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -3705,7 +3705,8 @@ def test_vertex_markers():
@image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.02, 'ppc64le': 0.02,
+ 's390x': 0.02}.get(platform.machine(), 0))
def test_eb_line_zorder():
x = list(range(10))
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
index e233a2b79..178c7abb3 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -191,7 +191,8 @@ def test_contour_datetime_axis():
@image_comparison(['contour_test_label_transforms.png'],
remove_text=True, style='mpl20',
- tol={'aarch64': 0.08}.get(platform.machine(), 0))
+ tol={'aarch64': 0.08, 'ppc64le': 0.08,
+ 's390x': 0.08}.get(platform.machine(), 0))
def test_labels():
# Adapted from pylab_examples example code: contour_demo.py
# see issues #2475, #2843, and #2818 for explanation
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 2340f2199..ff375e4bf 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -22,7 +22,8 @@ import pytest
@image_comparison(['figure_align_labels'],
- tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0))
def test_align_labels():
fig = plt.figure(tight_layout=True)
gs = gridspec.GridSpec(3, 3)
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
index d07b80bef..a6cecc28c 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -861,7 +861,8 @@ def test_imshow_endianess():
@image_comparison(['imshow_masked_interpolation'],
- tol={'aarch64': 0.01}.get(platform.machine(), 0),
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0),
remove_text=True, style='mpl20')
def test_imshow_masked_interpolation():
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
index b6ccb28dd..24d267405 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -105,7 +105,8 @@ def test_multiple_keys():
@image_comparison(['rgba_alpha.png'], remove_text=True,
- tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0))
def test_alpha_rgba():
fig, ax = plt.subplots(1, 1)
ax.plot(range(10), lw=5)
@@ -114,7 +115,8 @@ def test_alpha_rgba():
@image_comparison(['rcparam_alpha.png'], remove_text=True,
- tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0))
def test_alpha_rcparam():
fig, ax = plt.subplots(1, 1)
ax.plot(range(10), lw=5)
@@ -140,7 +142,8 @@ def test_fancy():
@image_comparison(['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.02, 'ppc64le': 0.02,
+ 's390x': 0.02}.get(platform.machine(), 0))
def test_framealpha():
x = np.linspace(1, 100, 100)
y = x
diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
index 6a78526b5..864853bba 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -41,7 +41,8 @@ def test_simple():
@image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
+ tol={'aarch64': 0.082, 'ppc64le': 0.082,
+ 's390x': 0.082}.get(platform.machine(), 0))
def test_complete():
fig = plt.figure('Figure with a label?', figsize=(10, 6))
diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
index 7b5fd6af9..9f94f84cd 100644
--- a/lib/matplotlib/tests/test_polar.py
+++ b/lib/matplotlib/tests/test_polar.py
@@ -10,7 +10,8 @@ from matplotlib.testing.decorators import image_comparison, check_figures_equal
@image_comparison(['polar_axes'], style='default',
- tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0))
def test_polar_annotations():
# You can specify the xypoint and the xytext in different positions and
# coordinate systems, and optionally turn on a connecting line and mark the
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index 137b12aa9..b7b3197ac 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -74,7 +74,8 @@ def quantity_converter():
# Tests that the conversion machinery works properly for classes that
# work as a facade over numpy arrays (like pint)
@image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
- tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0))
def test_numpy_facade(quantity_converter):
# use former defaults to match existing baseline image
plt.rcParams['axes.formatter.limits'] = -7, 7
@@ -101,7 +102,8 @@ def test_numpy_facade(quantity_converter):
# Tests gh-8908
@image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0))
def test_plot_masked_units():
data = np.linspace(-5, 5)
data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
index 30ea87445..fd8b9632f 100644
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
@@ -331,7 +331,8 @@ def test_zooming_with_inverted_axes():
@image_comparison(['anchored_direction_arrows.png'],
- tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ tol={'aarch64': 0.01, 'ppc64le': 0.01,
+ 's390x': 0.01}.get(platform.machine(), 0))
def test_anchored_direction_arrows():
fig, ax = plt.subplots()
ax.imshow(np.zeros((10, 10)), interpolation='nearest')
diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
index bed21a640..d9b3b9b8b 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
@@ -17,7 +17,8 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
@image_comparison(['custom_transform.png'], style='default',
- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
+ tol={'aarch64': 0.034, 'ppc64le': 0.034,
+ 's390x': 0.034}.get(platform.machine(), 0.03))
def test_custom_transform():
class MyTransform(Transform):
input_dims = output_dims = 2
--
2.25.4

View File

@ -1,63 +0,0 @@
From 717fb2ce07ac66794df6b4e1833e14d2c8036233 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Mon, 29 Jun 2020 17:35:37 -0400
Subject: [PATCH 6/7] Fix running contour's test_internal_cpp_api directly.
The `matplotlib._contour` module is lazily loaded, so using it directly
(as done in this test) may fail if something else doesn't load it. This
test would fail if it was the first contour-related test run in a
process (if testing in parallel), or if just called as the only test,
i.e., this commit fixes:
```
$ pytest -k test_internal_cpp_api lib/matplotlib/tests/test_contour.py
__________ test_internal_cpp_api[args0-TypeError-function takes exactly 6 arguments (0 given)] __________
args = (), cls = <class 'TypeError'>, message = 'function takes exactly 6 arguments (0 given)'
@pytest.mark.parametrize("args, cls, message", [
((), TypeError,
'function takes exactly 6 arguments (0 given)'),
((1, 2, 3, 4, 5, 6), ValueError,
'Expected 2-dimensional array, got 0'),
(([[0]], [[0]], [[]], None, True, 0), ValueError,
'x, y and z must all be 2D arrays with the same dimensions'),
(([[0]], [[0]], [[0]], None, True, 0), ValueError,
'x, y and z must all be at least 2x2 arrays'),
((*[np.arange(4).reshape((2, 2))] * 3, [[0]], True, 0), ValueError,
'If mask is set it must be a 2D array with the same dimensions as x.'),
])
def test_internal_cpp_api(args, cls, message): # Github issue 8197.
with pytest.raises(cls, match=re.escape(message)):
> mpl._contour.QuadContourGenerator(*args)
E AttributeError: module 'matplotlib' has no attribute '_contour'
lib/matplotlib/tests/test_contour.py:269: AttributeError
This is a corollary to b672f68f89fb0d3a90a15571f0c1810fe93724ce for tri.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_contour.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
index 178c7abb3..7c3337fea 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -268,11 +268,13 @@ def test_contourf_symmetric_locator():
'If mask is set it must be a 2D array with the same dimensions as x.'),
])
def test_internal_cpp_api(args, cls, message): # Github issue 8197.
+ from matplotlib import _contour # noqa: ensure lazy-loaded module *is* loaded.
with pytest.raises(cls, match=re.escape(message)):
mpl._contour.QuadContourGenerator(*args)
def test_internal_cpp_api_2():
+ from matplotlib import _contour # noqa: ensure lazy-loaded module *is* loaded.
arr = [[0, 1], [2, 3]]
qcg = mpl._contour.QuadContourGenerator(arr, arr, arr, None, True, 0)
with pytest.raises(
--
2.25.4

View File

@ -1,44 +0,0 @@
From 1c614f815ec7f563cbfbab4f8a2155a46080965b Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Tue, 30 Jun 2020 04:43:57 -0400
Subject: [PATCH 7/7] Increase tolerance for test_usetex and test_rgba_markers.
These should have been updated in images, but weren't. They can be fixed
properly for 3.3.0 final.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_axes.py | 2 +-
lib/matplotlib/tests/test_usetex.py | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index 48cfdf582..50dc95925 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -3435,7 +3435,7 @@ def test_transparent_markers():
ax.plot(data, 'D', mfc='none', markersize=100)
-@image_comparison(['rgba_markers'], remove_text=True)
+@image_comparison(['rgba_markers'], remove_text=True, tol=6.2)
def test_rgba_markers():
fig, axs = plt.subplots(ncols=2)
rcolors = [(1, 0, 0, 1), (1, 0, 0, 0.5)]
diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
index 25006f174..c2a9c9b20 100644
--- a/lib/matplotlib/tests/test_usetex.py
+++ b/lib/matplotlib/tests/test_usetex.py
@@ -13,7 +13,8 @@ if not mpl.checkdep_usetex(True):
@image_comparison(
baseline_images=['test_usetex'],
extensions=['pdf', 'png'],
- style="mpl20")
+ style="mpl20",
+ tol=12.9)
def test_usetex():
mpl.rcParams['text.usetex'] = True
fig = plt.figure()
--
2.25.4

View File

@ -35,15 +35,15 @@
%global _docdir_fmt %{name}
# Updated test images for new FreeType.
%global mpl_images_version 3.3.0rc1
%global mpl_images_version 3.3.0
# The version of FreeType in this Fedora branch.
%global ftver 2.10.1
%global ftver 2.10.2
Name: python-matplotlib
Version: 3.3.0
%global Version 3.3.0rc1
Release: 0.2.rc1%{?dist}
%global Version 3.3.0
Release: 1%{?dist}
Summary: Python 2D plotting library
# qt4_editor backend is MIT
License: Python and MIT
@ -53,7 +53,6 @@ Source1: setup.cfg
# Fedora-specific patches; see:
# https://github.com/fedora-python/matplotlib/tree/fedora-patches
# https://github.com/fedora-python/matplotlib/tree/fedora-patches-non-x86
# Updated test images for new FreeType.
Source1000: https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_version}-with-freetype-%{ftver}/matplotlib-%{mpl_images_version}-with-freetype-%{ftver}.tar.gz
# Search in /etc/matplotlibrc:
@ -61,14 +60,8 @@ Patch1001: 0001-matplotlibrc-path-search-fix.patch
# Increase tolerances for new FreeType everywhere:
Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch
# https://github.com/matplotlib/matplotlib/pull/17800
Patch0001: 0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch
Patch0002: 0004-Update-aarch64-tolerances.patch
Patch0003: 0005-Increase-tolerance-for-ppc64le-and-s390x.patch
# https://github.com/matplotlib/matplotlib/pull/17797
Patch0004: 0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch
# Will be fixed for 3.3.0 final.
Patch0005: 0007-Increase-tolerance-for-test_usetex-and-test_rgba_mar.patch
# https://github.com/matplotlib/matplotlib/pull/17963
Patch0001: 0003-TST-Ignore-deprecations-when-switching-backends.patch
BuildRequires: gcc
BuildRequires: gcc-c++
@ -315,10 +308,6 @@ rm -r extern/libqhull
cp -p %{SOURCE1} setup.cfg
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
%patch0005 -p1
%build
@ -460,6 +449,10 @@ PYTHONDONTWRITEBYTECODE=1 \
%changelog
* Sat Jul 18 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.0-1
- Update to latest version
- Fixes RHBZ#1858120
* Tue Jun 30 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.3.0-0.2.rc1
- Add more test dependencies

View File

@ -1,2 +1,2 @@
SHA512 (matplotlib-3.3.0rc1.tar.gz) = f47e5473a152d87c5d2e707394f3ccf050b185e1f318ff7141e3ff0a013cb896ddbb6a1164d00b3201ea0d403c71a418c6c5dbaecd413bb9c5c28c8ff73affd0
SHA512 (matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz) = ed7448325e1e29bbb8abbef39944afb8c15250bc0c0ed2f8739156c83318bd5931012360779e1375bc7f020662739bb7a47c16822a1575439aee75579b526060
SHA512 (matplotlib-3.3.0.tar.gz) = 79555a175ef1e63da4f3d2457dc44dd825dbe4b5833696fa9ba57bfc654dc4df286ede4357ee276f19d674be1cb622e8718000a74c1f122cc13641f4d3ad0ada
SHA512 (matplotlib-3.3.0-with-freetype-2.10.2.tar.gz) = c0ed4a7faa07ff3bdfde10f04f8f4bf1176e6f67d3565a147e98e3ffa75d0de71b24d81f4db55d9c0ca0a40f22d416ca132b791298ff20bf35a93698cd8fab86