Compare commits

...

17 Commits

Author SHA1 Message Date
Elliott Sales de Andrade
ec400d341f Update patches for non-x86. 2020-06-20 03:52:08 -04:00
Elliott Sales de Andrade
bea895839b Update to latest version. 2020-06-20 03:06:07 -04:00
Elliott Sales de Andrade
3fa499ba45 Update to latest version. 2020-03-18 03:28:30 -04:00
Elliott Sales de Andrade
ea129e4586 Fix a flaky test. 2020-03-04 00:35:37 -05:00
Elliott Sales de Andrade
e6f3591340 Update to 3.2.0. 2020-03-03 23:05:44 -05:00
Fedora Release Engineering
304a359289 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 13:17:29 +00:00
Miro Hrončok
8d98548134 Use supported attribute to check pillow version
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1789664
2020-01-22 13:05:01 +01:00
Elliott Sales de Andrade
1f37c6ab3a Update to 3.1.2. 2019-11-22 20:10:32 -05:00
Elliott Sales de Andrade
c533793071 Backport bool deprecation warning fix. 2019-09-06 21:15:41 -04:00
Miro Hrončok
e8c7e2c6d2 Revert "Temporarily skip the tests"
This reverts commit cb1f3493dc.
2019-08-18 20:58:48 +02:00
Miro Hrončok
cb1f3493dc Temporarily skip the tests 2019-08-18 20:43:21 +02:00
Miro Hrončok
3009a9a10c Rebuilt for Python 3.8 2019-08-18 20:19:46 +02:00
Miro Hrončok
685e53f794 BuildRequire glibc-langpack-en
This avoids:

    WARNING  matplotlib.testing:__init__.py:39 Could not set locale to
    English/United States. Some date-related tests may fail.
2019-08-13 11:28:10 +02:00
Elliott Sales de Andrade
c4446bc9c0 Skip wx test on ppc64le.
See https://bugzilla.redhat.com/show_bug.cgi?id=1738752.
2019-08-08 01:22:32 -04:00
Elliott Sales de Andrade
2441db0faa Backport patch for NumPy 1.17. 2019-08-07 21:51:04 -04:00
Elliott Sales de Andrade
9046bbb237 Update to 3.1.1 and FreeType 2.10.0. 2019-08-07 21:26:57 -04:00
Fedora Release Engineering
3652785c8e - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 14:28:02 +00:00
13 changed files with 1089 additions and 1134 deletions

13
.gitignore vendored
View File

@@ -36,3 +36,16 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-3.0.1-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.2.tar.gz
/matplotlib-3.0.3.tar.gz
/matplotlib-3.1.0rc1.tar.gz
/matplotlib-3.1.0.tar.gz
/matplotlib-3.1.0-with-freetype-2.10.0.tar.gz
/matplotlib-3.1.1.tar.gz
/matplotlib-3.1.1-with-freetype-2.10.0.tar.gz
/matplotlib-3.1.2.tar.gz
/matplotlib-3.2.0rc3.tar.gz
/matplotlib-3.2.0rc3-with-freetype-2.10.1.tar.gz
/matplotlib-3.2.0.tar.gz
/matplotlib-3.2.0-with-freetype-2.10.1.tar.gz
/matplotlib-3.2.1.tar.gz
/matplotlib-3.2.2.tar.gz
/matplotlib-3.2.2-with-freetype-2.10.1.tar.gz

View File

@@ -1,43 +1,37 @@
From 46361ca058295e3f08d3c54196d990c497834306 Mon Sep 17 00:00:00 2001
From ee5c28ea8cd17cbc04d5a9b79d5ce1326df93466 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Fri, 30 Mar 2018 03:15:51 -0400
Subject: [PATCH] Force using system qhull.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
setupext.py | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)
setupext.py | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/setupext.py b/setupext.py
index d2ff239ad..30e0c9085 100644
index 3e8b382cc..66a278b0c 100644
--- a/setupext.py
+++ b/setupext.py
@@ -1318,23 +1318,10 @@ class Qhull(SetupPackage):
@@ -838,14 +838,12 @@ class Png(SetupPackage):
class Qhull(SetupPackage):
name = "qhull"
def check(self):
self.__class__.found_external = True
- try:
- return self._check_for_pkg_config(
- 'libqhull', 'libqhull/qhull_a.h', min_version='2015.2')
- except CheckFailed as e:
- self.__class__.found_pkgconfig = False
- self.__class__.found_external = False
- return str(e) + ' Using local copy.'
+ def check(self):
+ self.__class__.found_external = True
+ return ' Using system copy.'
+
def add_flags(self, ext):
- if self.found_external:
- pkg_config.setup_extension(ext, 'qhull',
- default_libraries=['qhull'])
- else:
- ext.include_dirs.insert(0, 'extern')
- ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
- if sysconfig.get_config_var('LIBM') == '-lm':
- ext.libraries.extend('m')
- # Qhull doesn't distribute pkg-config info, so we have no way of
- # knowing whether a system install is recent enough. Thus, always use
- # the vendored version.
- ext.include_dirs.insert(0, 'extern')
- ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
- if sysconfig.get_config_var('LIBM') == '-lm':
- ext.libraries.extend('m')
+ ext.libraries.append('qhull')
class TTConv(SetupPackage):
--
2.14.3
2.21.0

View File

@@ -1,4 +1,4 @@
From fede0d8731c1301720f16e2d46df8275e8ecf9e8 Mon Sep 17 00:00:00 2001
From a3fec73e39558f1a8d41663fe05783889e735af4 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 2 Mar 2019 18:18:29 -0500
Subject: [PATCH] Use packaged jquery and jquery-ui.
@@ -7,8 +7,8 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
.../backends/web_backend/all_figures.html | 6 +--
.../backends/web_backend/single_figure.html | 6 +--
setup.py | 46 -------------------
3 files changed, 6 insertions(+), 52 deletions(-)
setup.py | 54 -------------------
3 files changed, 6 insertions(+), 60 deletions(-)
diff --git a/lib/matplotlib/backends/web_backend/all_figures.html b/lib/matplotlib/backends/web_backend/all_figures.html
index 41f48dc6d..69097eb4f 100644
@@ -45,19 +45,19 @@ index 4d5a366fb..c11c86618 100644
<script src="{{ prefix }}/js/mpl.js"></script>
<script>
diff --git a/setup.py b/setup.py
index 94c8106d3..42ae7e294 100644
index bf03159fb..81c2f96d7 100644
--- a/setup.py
+++ b/setup.py
@@ -28,8 +28,6 @@ from zipfile import ZipFile
from setuptools import setup
from setuptools import setup, find_packages, Extension
from setuptools.command.build_ext import build_ext as BuildExtCommand
-from setuptools.command.develop import develop as DevelopCommand
-from setuptools.command.install_lib import install_lib as InstallLibCommand
from setuptools.command.test import test as TestCommand
# The setuptools version of sdist adds a setup.cfg file to the tree.
@@ -121,50 +119,6 @@ cmdclass['test'] = NoopTestCommand
@@ -120,58 +118,6 @@ cmdclass['test'] = NoopTestCommand
cmdclass['build_ext'] = BuildExtraLibraries
@@ -65,15 +65,23 @@ index 94c8106d3..42ae7e294 100644
- # Note: When bumping the jquery-ui version, also update the versions in
- # single_figure.html and all_figures.html.
- url = "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip"
- sha = 'f8233674366ab36b2c34c577ec77a3d70cac75d2e387d8587f3836345c0f624d'
- if not os.path.exists(os.path.join(dest, "jquery-ui-1.12.1")):
- _makedirs(dest, exist_ok=True)
- sha = "f8233674366ab36b2c34c577ec77a3d70cac75d2e387d8587f3836345c0f624d"
- name = Path(url).stem
- if (dest / name).exists():
- return
- # If we are installing from an sdist, use the already downloaded jquery-ui.
- sdist_src = Path("lib/matplotlib/backends/web_backend", name)
- if sdist_src.exists():
- shutil.copytree(sdist_src, dest / name)
- return
- if not (dest / name).exists():
- dest.mkdir(parents=True, exist_ok=True)
- try:
- buff = download_or_cache(url, sha)
- except Exception:
- raise IOError("Failed to download jquery-ui. Please download " +
- "{url} and extract it to {dest}.".format(
- url=url, dest=dest))
- raise IOError(
- "Failed to download jquery-ui. Please download "
- "{url} and extract it to {dest}.".format(url=url, dest=dest))
- with ZipFile(buff) as zf:
- zf.extractall(dest)
-
@@ -81,23 +89,23 @@ index 94c8106d3..42ae7e294 100644
-# Relying on versioneer's implementation detail.
-class sdist_with_jquery(cmdclass['sdist']):
- def make_release_tree(self, base_dir, files):
- super(sdist_with_jquery, self).make_release_tree(base_dir, files)
- super().make_release_tree(base_dir, files)
- _download_jquery_to(
- os.path.join(base_dir, "lib/matplotlib/backends/web_backend/"))
- Path(base_dir, "lib/matplotlib/backends/web_backend/"))
-
-
-# Affects install and bdist_wheel.
-class install_lib_with_jquery(InstallLibCommand):
- def run(self):
- super(install_lib_with_jquery, self).run()
- super().run()
- _download_jquery_to(
- os.path.join(self.install_dir, "matplotlib/backends/web_backend/"))
- Path(self.install_dir, "matplotlib/backends/web_backend/"))
-
-
-class develop_with_jquery(DevelopCommand):
- def run(self):
- super(develop_with_jquery, self).run()
- _download_jquery_to("lib/matplotlib/backends/web_backend/")
- super().run()
- _download_jquery_to(Path("lib/matplotlib/backends/web_backend/"))
-
-
-cmdclass['sdist'] = sdist_with_jquery
@@ -109,5 +117,5 @@ index 94c8106d3..42ae7e294 100644
# however, this is needed on Windows to avoid creating infinite subprocesses
# when using multiprocessing.
--
2.20.1
2.25.4

View File

@@ -1,24 +1,36 @@
From eeeee74ff61646d321500490bbb9dbbcde424e14 Mon Sep 17 00:00:00 2001
From 4431ff98f5f95a65378f4fa4b6e6fe02280911bf 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/3] matplotlibrc path search fix
Subject: [PATCH 1/4] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/__init__.py | 18 +++---------------
lib/matplotlib/tests/test_rcparams.py | 22 ++++++++++++++++------
2 files changed, 19 insertions(+), 21 deletions(-)
lib/matplotlib/__init__.py | 31 ++++-----------------------
lib/matplotlib/tests/test_rcparams.py | 15 +++++++++----
2 files changed, 15 insertions(+), 31 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 091cb6178..5648392ce 100644
index fa1caecda..d2bd48800 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -664,18 +664,7 @@ def _get_data_path():
@@ -654,34 +654,12 @@ def _get_data_path():
"3.1", name="MATPLOTLIBDATA", obj_type="environment variable")
return path
def get_candidate_paths():
- yield Path(__file__).with_name('mpl-data')
- # setuptools' namespace_packages may highjack this init file
- path = Path(__file__).with_name("mpl-data")
+ path = (Path(__file__).parent.parent.parent.parent.parent /
+ 'share/matplotlib/mpl-data')
if path.is_dir():
defaultParams['datapath'][0] = str(path)
return str(path)
- cbook.warn_deprecated(
- "3.2", message="Matplotlib installs where the data is not in the "
- "mpl-data subdirectory of the package are deprecated since %(since)s "
- "and support for them will be removed %(removal)s.")
-
- def get_candidate_paths():
- # setuptools' namespace_packages may hijack this init file
- # so need to try something known to be in Matplotlib, not basemap.
- import matplotlib.afm
- yield Path(matplotlib.afm.__file__).with_name('mpl-data')
@@ -29,60 +41,59 @@ index 091cb6178..5648392ce 100644
- yield Path(sys.executable).parent.with_name('mpl-data')
- # Try again assuming sys.path[0] is a dir not a exe.
- yield Path(sys.path[0]) / 'mpl-data'
+ yield Path('/usr/share/matplotlib/mpl-data')
-
- for path in get_candidate_paths():
- if path.is_dir():
- defaultParams['datapath'][0] = str(path)
- return str(path)
-
raise RuntimeError('Could not find the matplotlib data files')
for path in get_candidate_paths():
if path.is_dir():
@@ -727,8 +716,7 @@ def matplotlib_fname():
- `$HOME/.matplotlib/matplotlibrc` if `$HOME` is defined.
- - Lastly, it looks in `$MATPLOTLIBDATA/matplotlibrc` for a
- system-defined copy.
+ - Lastly, it looks in `/etc/matplotlibrc` for a system-defined copy.
@@ -712,8 +690,7 @@ def matplotlib_fname():
is not defined)
- On other platforms,
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
- - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
- exist.
+ - Lastly, it looks in ``/etc/matplotlibrc``, which should always exist.
"""
def gen_candidates():
@@ -741,7 +729,7 @@ def matplotlib_fname():
@@ -726,7 +703,7 @@ def matplotlib_fname():
yield matplotlibrc
yield os.path.join(matplotlibrc, 'matplotlibrc')
yield os.path.join(get_configdir(), 'matplotlibrc')
- yield os.path.join(get_data_path(), 'matplotlibrc')
- yield os.path.join(_get_data_path(), 'matplotlibrc')
+ yield '/etc/matplotlibrc'
for fname in gen_candidates():
if os.path.exists(fname):
if os.path.exists(fname) and not os.path.isdir(fname):
diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py
index 7eec4d421..4c74619f6 100644
index 87dfbeceb..54885da47 100644
--- a/lib/matplotlib/tests/test_rcparams.py
+++ b/lib/matplotlib/tests/test_rcparams.py
@@ -451,11 +451,22 @@ def test_rcparams_reset_after_fail():
@@ -460,10 +460,17 @@ def test_rcparams_reset_after_fail():
assert mpl.rcParams['text.usetex'] is False
-def test_if_rctemplate_is_up_to_date():
+@pytest.fixture
+def mplrc():
+ # This is the Fedora-specific location ...
+ if 'MATPLOTLIBDATA' in os.environ:
+ # ... in buildroot.
+ return os.path.join(os.environ['MATPLOTLIBDATA'],
+ '../../../../etc/matplotlibrc')
+ else:
+ # ... on installed systems.
+ return '/etc/matplotlibrc'
+ # This is the Fedora-specific location.
+ return (Path(__file__).parent.parent.parent.parent.parent.parent.parent /
+ 'etc/matplotlibrc')
+
+
+def test_if_rctemplate_is_up_to_date(mplrc):
# This tests if the matplotlibrc.template file contains all valid rcParams.
deprecated = {*mpl._all_deprecated, *mpl._deprecated_remain_as_none}
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
- with open(path_to_rc, "r") as f:
+ with open(mplrc, "r") as f:
rclines = f.readlines()
- with cbook._get_data_path('matplotlibrc').open() as file:
+ with mplrc.open() as file:
rclines = file.readlines()
missing = {}
for k, v in mpl.defaultParams.items():
@@ -478,11 +489,10 @@ def test_if_rctemplate_is_up_to_date():
@@ -483,10 +490,10 @@ def test_if_rctemplate_is_up_to_date():
.format(missing.items()))
@@ -90,12 +101,11 @@ index 7eec4d421..4c74619f6 100644
+def test_if_rctemplate_would_be_valid(tmpdir, mplrc):
# This tests if the matplotlibrc.template file would result in a valid
# rc file if all lines are uncommented.
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
- with open(path_to_rc, "r") as f:
+ with open(mplrc, "r") as f:
rclines = f.readlines()
- with cbook._get_data_path('matplotlibrc').open() as file:
+ with mplrc.open() as file:
rclines = file.readlines()
newlines = []
for line in rclines:
--
2.20.1
2.25.4

View File

@@ -1,40 +0,0 @@
From 64c0ea2ea7986d6cb05b41d37226f510ffe41b76 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Tue, 23 Jan 2018 20:27:17 -0500
Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index 17c0d1967..e261513df 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -61,7 +61,7 @@ def test_linewidth():
@image_comparison(baseline_images=['streamplot_masks_and_nans'],
- tol=0.04 if on_win else 0,
+ tol=0.04 if on_win else 0.01,
remove_text=True, style='mpl20')
def test_masks_and_nans():
X, Y, U, V = velocity_field()
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
index ddbf7e9f7..86e49cc45 100644
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
@@ -361,7 +361,7 @@ def test_zooming_with_inverted_axes():
@image_comparison(baseline_images=['anchored_direction_arrows'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.02,
extensions=['png'])
def test_anchored_direction_arrows():
fig, ax = plt.subplots()
--
2.20.1

View File

@@ -0,0 +1,106 @@
From c61647b9604ce6538fa28b807d094056b005258d 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/4] Set FreeType version to 2.10.1 and update tolerances.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/__init__.py | 2 +-
lib/matplotlib/tests/test_axes.py | 6 +++---
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
setupext.py | 2 +-
5 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index d2bd48800..ff06bf049 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -1313,7 +1313,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'
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 75636301d..b5bfc32c3 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -6425,7 +6425,7 @@ def test_normal_axes():
]
for nn, b in enumerate(bbaxis):
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
- assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=2)
+ assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=0)
target = [
[150.0, 119.999, 930.0, 11.111],
@@ -6443,7 +6443,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11]
targetbb = mtransforms.Bbox.from_bounds(*target)
- assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=2)
+ assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=0)
# test that get_position roundtrips to get_window_extent
axbb = ax.get_position().transformed(fig.transFigure).bounds
@@ -6568,7 +6568,7 @@ def test_get_tightbbox_polar():
fig.canvas.draw()
bb = ax.get_tightbbox(fig.canvas.get_renderer())
assert_allclose(bb.extents,
- [107.7778, 29.2778, 539.7847, 450.7222], rtol=1e-03)
+ [107.7778, 29.2778, 539.7847, 450.7222], rtol=1)
@check_figures_equal(extensions=["png"])
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index c91037eae..75311e70e 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -399,4 +399,4 @@ def test_hidden_axes():
extents1 = np.copy(axs[0, 0].get_position().extents)
np.testing.assert_allclose(extents1,
- [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5)
+ [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2)
diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py
index 377dfb649..6e6d8afe2 100644
--- a/lib/matplotlib/tests/test_tightlayout.py
+++ b/lib/matplotlib/tests/test_tightlayout.py
@@ -172,12 +172,12 @@ def test_outward_ticks():
plt.tight_layout()
# These values were obtained after visual checking that they correspond
# to a tight layouting that did take the ticks into account.
- ans = [[[0.091, 0.607], [0.433, 0.933]],
- [[0.579, 0.607], [0.922, 0.933]],
- [[0.091, 0.140], [0.433, 0.466]],
- [[0.579, 0.140], [0.922, 0.466]]]
+ ans = [[[0.09, 0.61], [0.43, 0.93]],
+ [[0.58, 0.61], [0.92, 0.93]],
+ [[0.09, 0.14], [0.43, 0.47]],
+ [[0.58, 0.14], [0.92, 0.47]]]
for nn, ax in enumerate(fig.axes):
- assert_array_equal(np.round(ax.get_position().get_points(), 3),
+ assert_array_equal(np.round(ax.get_position().get_points(), 2),
ans[nn])
diff --git a/setupext.py b/setupext.py
index 09cd6bbd7..c3c96d4e0 100644
--- a/setupext.py
+++ b/setupext.py
@@ -152,7 +152,7 @@ _freetype_hashes = {
# 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_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')
--
2.25.4

View File

@@ -1,658 +0,0 @@
From 4b3c9145a4c247197a40c5314151566e437f7bbe Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 31 Mar 2018 00:15:14 -0400
Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/testing/decorators.py | 2 +-
lib/matplotlib/tests/test_artist.py | 3 +-
lib/matplotlib/tests/test_axes.py | 49 ++++++++++---------
lib/matplotlib/tests/test_collections.py | 2 +-
lib/matplotlib/tests/test_colorbar.py | 11 +++--
.../tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_contour.py | 8 +--
lib/matplotlib/tests/test_cycles.py | 3 --
lib/matplotlib/tests/test_figure.py | 3 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 5 +-
lib/matplotlib/tests/test_mathtext.py | 4 +-
lib/matplotlib/tests/test_patches.py | 3 +-
lib/matplotlib/tests/test_patheffects.py | 2 +-
lib/matplotlib/tests/test_pickle.py | 2 +-
lib/matplotlib/tests/test_quiver.py | 2 +-
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/matplotlib/tests/test_transforms.py | 2 +-
lib/matplotlib/tests/test_units.py | 1 -
.../tests/test_axisartist_floating_axes.py | 4 +-
...test_axisartist_grid_helper_curvelinear.py | 6 +--
lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
22 files changed, 59 insertions(+), 63 deletions(-)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index 85b8d5e87..f3fc47c68 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -338,7 +338,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
return decorator
-def image_comparison(baseline_images, extensions=None, tol=0,
+def image_comparison(baseline_images, extensions=None, tol=0.1,
freetype_version=None, remove_text=False,
savefig_kwarg=None,
# Default of mpl_test_settings fixture and cleanup too.
diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py
index 283db9abe..2ae11142c 100644
--- a/lib/matplotlib/tests/test_artist.py
+++ b/lib/matplotlib/tests/test_artist.py
@@ -94,7 +94,8 @@ def test_collection_transform_of_none():
assert isinstance(c._transOffset, mtransforms.IdentityTransform)
-@image_comparison(baseline_images=["clip_path_clipping"], remove_text=True)
+@image_comparison(baseline_images=["clip_path_clipping"], remove_text=True,
+ tol=0.28)
def test_clipping():
exterior = mpath.Path.unit_rectangle().deepcopy()
exterior.vertices *= 4
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index c0e0e560d..6e88c167c 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -554,7 +554,7 @@ def test_single_point():
@image_comparison(baseline_images=['single_date'], extensions=['png'],
- style='mpl20')
+ style='mpl20', tol=1.97)
def test_single_date():
time1 = [721964.0]
data1 = [-65.54]
@@ -1028,7 +1028,7 @@ def test_fill_between_interpolate():
@image_comparison(baseline_images=['fill_between_interpolate_decreasing'],
- style='mpl20', remove_text=True)
+ style='mpl20', remove_text=True, tol=0.78)
def test_fill_between_interpolate_decreasing():
p = np.array([724.3, 700, 655])
t = np.array([9.4, 7, 2.2])
@@ -1110,7 +1110,8 @@ def test_pcolormesh():
@image_comparison(baseline_images=['pcolormesh_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.19)
def test_pcolormesh_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1136,7 +1137,8 @@ def test_pcolormesh_datetime_axis():
@image_comparison(baseline_images=['pcolor_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.19)
def test_pcolor_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1193,7 +1195,7 @@ def test_canonical():
@image_comparison(baseline_images=['arc_angles'], remove_text=True,
- style='default', extensions=['png'])
+ style='default', extensions=['png'], tol=0.17)
def test_arc_angles():
from matplotlib import patches
# Ellipse parameters
@@ -2540,7 +2542,7 @@ def test_boxplot_mod_artist_after_plotting():
@image_comparison(baseline_images=['violinplot_vert_baseline',
'violinplot_vert_baseline'],
- extensions=['png'])
+ extensions=['png'], tol=0.24)
def test_vert_violinplot_baseline():
# First 9 digits of frac(sqrt(2))
np.random.seed(414213562)
@@ -2558,7 +2560,7 @@ def test_vert_violinplot_baseline():
@image_comparison(baseline_images=['violinplot_vert_showmeans'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_vert_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(3))
@@ -2569,7 +2571,7 @@ def test_vert_violinplot_showmeans():
@image_comparison(baseline_images=['violinplot_vert_showextrema'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_vert_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(5))
@@ -2580,7 +2582,7 @@ def test_vert_violinplot_showextrema():
@image_comparison(baseline_images=['violinplot_vert_showmedians'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_vert_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(7))
@@ -2591,7 +2593,7 @@ def test_vert_violinplot_showmedians():
@image_comparison(baseline_images=['violinplot_vert_showall'],
- extensions=['png'])
+ extensions=['png'], tol=0.2)
def test_vert_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(11))
@@ -2602,7 +2604,7 @@ def test_vert_violinplot_showall():
@image_comparison(baseline_images=['violinplot_vert_custompoints_10'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_vert_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(13))
@@ -2613,7 +2615,7 @@ def test_vert_violinplot_custompoints_10():
@image_comparison(baseline_images=['violinplot_vert_custompoints_200'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_vert_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(17))
@@ -2624,7 +2626,7 @@ def test_vert_violinplot_custompoints_200():
@image_comparison(baseline_images=['violinplot_horiz_baseline'],
- extensions=['png'])
+ extensions=['png'], tol=0.2)
def test_horiz_violinplot_baseline():
ax = plt.axes()
# First 9 digits of frac(sqrt(19))
@@ -2635,7 +2637,7 @@ def test_horiz_violinplot_baseline():
@image_comparison(baseline_images=['violinplot_horiz_showmedians'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_horiz_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(23))
@@ -2646,7 +2648,7 @@ def test_horiz_violinplot_showmedians():
@image_comparison(baseline_images=['violinplot_horiz_showmeans'],
- extensions=['png'])
+ extensions=['png'], tol=0.25)
def test_horiz_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(29))
@@ -2657,7 +2659,7 @@ def test_horiz_violinplot_showmeans():
@image_comparison(baseline_images=['violinplot_horiz_showextrema'],
- extensions=['png'])
+ extensions=['png'], tol=0.2)
def test_horiz_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(31))
@@ -2668,7 +2670,7 @@ def test_horiz_violinplot_showextrema():
@image_comparison(baseline_images=['violinplot_horiz_showall'],
- extensions=['png'])
+ extensions=['png'], tol=0.19)
def test_horiz_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(37))
@@ -2679,7 +2681,7 @@ def test_horiz_violinplot_showall():
@image_comparison(baseline_images=['violinplot_horiz_custompoints_10'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_horiz_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(41))
@@ -2690,7 +2692,7 @@ def test_horiz_violinplot_custompoints_10():
@image_comparison(baseline_images=['violinplot_horiz_custompoints_200'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_horiz_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(43))
@@ -3369,8 +3371,7 @@ def test_vertex_markers():
@image_comparison(baseline_images=['vline_hline_zorder',
- 'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ 'errorbar_zorder'])
def test_eb_line_zorder():
x = list(range(10))
@@ -4050,7 +4051,7 @@ def test_psd_noise():
@image_comparison(baseline_images=['csd_freqs'], remove_text=True,
- extensions=['png'], tol=0.002)
+ extensions=['png'], tol=0.21)
def test_csd_freqs():
'''test axes.csd with sinusoidal stimuli'''
n = 10000
@@ -4943,7 +4944,7 @@ def test_rc_spines():
@image_comparison(baseline_images=['rc_grid'], extensions=['png'],
- savefig_kwarg={'dpi': 40})
+ savefig_kwarg={'dpi': 40}, tol=0.2)
def test_rc_grid():
fig = plt.figure()
rc_dict0 = {
@@ -5462,7 +5463,7 @@ def test_date_timezone_y():
@image_comparison(baseline_images=['date_timezone_x_and_y'],
- extensions=['png'])
+ extensions=['png'], tol=3.05)
def test_date_timezone_x_and_y():
# Tests issue 5575
UTC = datetime.timezone.utc
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 6812ee1ad..5e5f19aac 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -466,7 +466,7 @@ def test_EllipseCollection():
@image_comparison(baseline_images=['polycollection_close'],
- extensions=['png'], remove_text=True)
+ extensions=['png'], remove_text=True, tol=0.45)
def test_polycollection_close():
from mpl_toolkits.mplot3d import Axes3D
diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
index 1c358c09a..21019be34 100644
--- a/lib/matplotlib/tests/test_colorbar.py
+++ b/lib/matplotlib/tests/test_colorbar.py
@@ -94,7 +94,7 @@ def _colorbar_extension_length(spacing):
@image_comparison(
baseline_images=['colorbar_extensions_shape_uniform',
'colorbar_extensions_shape_proportional'],
- extensions=['png'])
+ extensions=['png'], tol=0.16)
def test_colorbar_extension_shape():
'''Test rectangular colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -104,7 +104,7 @@ def test_colorbar_extension_shape():
@image_comparison(baseline_images=['colorbar_extensions_uniform',
'colorbar_extensions_proportional'],
- extensions=['png'])
+ extensions=['png'], tol=0.25)
def test_colorbar_extension_length():
'''Test variable length colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -118,7 +118,7 @@ def test_colorbar_extension_length():
'cbar_sharing',
],
extensions=['png'], remove_text=True,
- savefig_kwarg={'dpi': 40})
+ savefig_kwarg={'dpi': 40}, tol=0.17)
def test_colorbar_positioning():
data = np.arange(1200).reshape(30, 40)
levels = [0, 200, 400, 600, 800, 1000, 1200]
@@ -172,7 +172,7 @@ def test_colorbar_positioning():
@image_comparison(baseline_images=['cbar_with_subplots_adjust'],
extensions=['png'], remove_text=True,
- savefig_kwarg={'dpi': 40})
+ savefig_kwarg={'dpi': 40}, tol=0.17)
def test_gridspec_make_colorbar():
plt.figure()
data = np.arange(1200).reshape(30, 40)
@@ -231,7 +231,8 @@ def test_colorbarbase():
@image_comparison(
baseline_images=['colorbar_closed_patch'],
- remove_text=True)
+ remove_text=True,
+ tol=0.22)
def test_colorbar_closed_patch():
fig = plt.figure(figsize=(8, 6))
ax1 = fig.add_axes([0.05, 0.85, 0.9, 0.1])
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index de8161ea7..a1f307abe 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -246,7 +246,7 @@ def test_constrained_layout12():
ax.set_xlabel('x-label')
-@image_comparison(baseline_images=['constrained_layout13'], tol=2.e-2,
+@image_comparison(baseline_images=['constrained_layout13'], tol=3.e-2,
extensions=['png'])
def test_constrained_layout13():
'Test that padding works.'
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
index c1f27b9ef..149afadb9 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -227,7 +227,8 @@ def test_given_colors_levels_and_extends():
@image_comparison(baseline_images=['contour_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.18)
def test_contour_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -253,7 +254,8 @@ def test_contour_datetime_axis():
@image_comparison(baseline_images=['contour_test_label_transforms'],
- extensions=['png'], remove_text=True, style='mpl20')
+ extensions=['png'], remove_text=True, style='mpl20',
+ tol=1.38)
def test_labels():
# Adapted from pylab_examples example code: contour_demo.py
# see issues #2475, #2843, and #2818 for explanation
@@ -284,7 +286,7 @@ def test_labels():
@image_comparison(baseline_images=['contour_corner_mask_False',
'contour_corner_mask_True'],
- extensions=['png'], remove_text=True)
+ extensions=['png'], remove_text=True, tol=0.19)
def test_corner_mask():
n = 60
mask_level = 0.95
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
index 8184d3eee..5a067f8e0 100644
--- a/lib/matplotlib/tests/test_cycles.py
+++ b/lib/matplotlib/tests/test_cycles.py
@@ -10,7 +10,6 @@ from cycler import cycler
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -28,7 +27,6 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
remove_text=True, extensions=['png'])
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -62,7 +60,6 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_linestylecycle_basic():
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 4c688eb05..826b44869 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -13,8 +13,7 @@ import numpy as np
import pytest
-@image_comparison(baseline_images=['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['figure_align_labels'])
def test_align_labels():
# Check the figure.align_labels() command
fig = plt.figure(tight_layout=True)
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
index c0ffc061a..ace55c2f5 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -766,7 +766,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.25,
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 d508d6f41..69286069d 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,6 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +119,6 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -148,8 +146,7 @@ def test_fancy():
ncol=2, shadow=True, title="My legend", numpoints=1)
-@image_comparison(baseline_images=['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['framealpha'], remove_text=True)
def test_framealpha():
x = np.linspace(1, 100, 100)
y = x
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
index a05c8b3c8..b6f11281f 100644
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -169,7 +169,7 @@ def baseline_images(request, fontset, index):
['cm', 'stix', 'stixsans', 'dejavusans',
'dejavuserif'])
@pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True)
-@image_comparison(baseline_images=None)
+@image_comparison(baseline_images=None, tol=0.31)
def test_mathtext_rendering(baseline_images, fontset, index, test):
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))
@@ -183,7 +183,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test):
['cm', 'stix', 'stixsans', 'dejavusans',
'dejavuserif'])
@pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True)
-@image_comparison(baseline_images=None, extensions=['png'])
+@image_comparison(baseline_images=None, extensions=['png'], tol=0.3)
def test_mathfont_rendering(baseline_images, fontset, index, test):
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))
diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py
index 89a77e258..2e5c16f75 100644
--- a/lib/matplotlib/tests/test_patches.py
+++ b/lib/matplotlib/tests/test_patches.py
@@ -260,9 +260,8 @@ def test_wedge_movement():
assert getattr(w, attr) == new_v
-# png needs tol>=0.06, pdf tol>=1.617
@image_comparison(baseline_images=['wedge_range'],
- remove_text=True, tol=1.65 if on_win else 0)
+ remove_text=True)
def test_wedge_range():
ax = plt.axes()
diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
index 6e80d8d98..0f158eb9e 100644
--- a/lib/matplotlib/tests/test_patheffects.py
+++ b/lib/matplotlib/tests/test_patheffects.py
@@ -119,7 +119,7 @@ def test_SimplePatchShadow_offset():
assert pe._offset == (4, 5)
-@image_comparison(baseline_images=['collection'], tol=0.02, style='mpl20')
+@image_comparison(baseline_images=['collection'], tol=0.084, 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_pickle.py b/lib/matplotlib/tests/test_pickle.py
index 9cb806c6f..c0ccf5f8c 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -44,7 +44,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.11,
style='mpl20')
def test_complete():
fig = plt.figure('Figure with a label?', figsize=(10, 6))
diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py
index 4470e02fa..70aa1e718 100644
--- a/lib/matplotlib/tests/test_quiver.py
+++ b/lib/matplotlib/tests/test_quiver.py
@@ -130,7 +130,7 @@ def test_quiver_key_pivot():
@image_comparison(baseline_images=['barbs_test_image'],
- extensions=['png'], remove_text=True)
+ extensions=['png'], remove_text=True, tol=0.11)
def test_barbs():
x = np.linspace(-5, 5, 5)
X, Y = np.meshgrid(x, x)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index e261513df..907841494 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -40,7 +40,7 @@ def test_startpoints():
@image_comparison(baseline_images=['streamplot_colormap'],
- tol=.04, remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20')
def test_colormap():
X, Y, U, V = velocity_field()
plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py
index 6275d5b54..a5c03f0a3 100644
--- a/lib/matplotlib/tests/test_transforms.py
+++ b/lib/matplotlib/tests/test_transforms.py
@@ -70,7 +70,7 @@ def test_external_transform_api():
@image_comparison(baseline_images=['pre_transform_data'],
- tol=0.08, remove_text=True, style='mpl20')
+ tol=0.155, remove_text=True, style='mpl20')
def test_pre_transform_plotting():
# a catch-all for as many as possible plot layouts which handle
# pre-transforming the data NOTE: The axis range is important in this
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index fec498af3..fe8f3f383 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -75,7 +75,6 @@ def quantity_converter():
# Tests that the conversion machinery works properly for classes that
# work as a facade over numpy arrays (like pint)
@image_comparison(baseline_images=['plot_pint'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# Register the class
diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
index 929c0368a..e6e5ca1ff 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
@@ -21,7 +21,7 @@ def test_subplot():
@image_comparison(baseline_images=['curvelinear3'],
- extensions=['png'], style='default', tol=0.01)
+ extensions=['png'], style='default', tol=0.02)
def test_curvelinear3():
fig = plt.figure(figsize=(5, 5))
fig.clf()
@@ -77,7 +77,7 @@ def test_curvelinear3():
@image_comparison(baseline_images=['curvelinear4'],
- extensions=['png'], style='default', tol=0.015)
+ extensions=['png'], style='default', tol=0.055)
def test_curvelinear4():
fig = plt.figure(figsize=(5, 5))
fig.clf()
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 32e1c884d..2b38866c5 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,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
@image_comparison(baseline_images=['custom_transform'],
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.035)
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -85,7 +85,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.08,
extensions=['png'], style='default')
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
@@ -147,7 +147,7 @@ def test_polar_box():
@image_comparison(baseline_images=['axis_direction'],
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.05)
def test_axis_direction():
fig = plt.figure(figsize=(5, 5))
diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
index bc9c43ec7..48727de52 100644
--- a/lib/mpl_toolkits/tests/test_mplot3d.py
+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
@@ -254,7 +254,7 @@ def test_text3d():
ax.set_zlabel('Z axis')
-@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.03)
+@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.05)
def test_trisurf3d():
n_angles = 36
n_radii = 8
@@ -733,7 +733,7 @@ class TestVoxels(object):
@image_comparison(
baseline_images=['voxels-xyz'],
extensions=['png'],
- tol=0.01
+ tol=0.02
)
def test_xyz(self):
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
--
2.20.1

View File

@@ -0,0 +1,42 @@
From e952bc36999a141a5c026544bae0c52817d4edd9 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Tue, 23 Jan 2018 20:27:17 -0500
Subject: [PATCH 3/4] Increase tolerances for non-x86_64 arches.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_streamplot.py | 4 ++--
lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index d2218f6f2..1afc60543 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -63,8 +63,8 @@ def test_linewidth():
linewidth=lw)
-@image_comparison(['streamplot_masks_and_nans'],
- remove_text=True, style='mpl20', tol=0.04 if on_win else 0)
+@image_comparison(baseline_images=['streamplot_masks_and_nans'],
+ remove_text=True, style='mpl20', tol=0.04 if on_win else .01)
def test_masks_and_nans():
X, Y, U, V = velocity_field()
mask = np.zeros(U.shape, dtype=bool)
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
index 9ed9a9280..56a3bd14a 100644
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
@@ -343,7 +343,7 @@ def test_zooming_with_inverted_axes():
@image_comparison(['anchored_direction_arrows.png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.02)
def test_anchored_direction_arrows():
fig, ax = plt.subplots()
ax.imshow(np.zeros((10, 10)), interpolation='nearest')
--
2.25.4

View File

@@ -1,170 +0,0 @@
From eab11b3cac68f863ccab8067e3d8035aaf57cfe5 Mon Sep 17 00:00:00 2001
From: Antony Lee <anntzer.lee@gmail.com>
Date: Tue, 18 Sep 2018 18:46:50 +0200
Subject: [PATCH 4/4] Avoid triggering deprecation warnings with pytest 3.8.
The new API was introduced in pytest3.6 so bump the test dependency
accordingly.
---
doc/devel/contributing.rst | 6 +++---
doc/devel/testing.rst | 4 ++--
lib/matplotlib/testing/conftest.py | 10 +++++-----
lib/matplotlib/testing/decorators.py | 8 ++++++--
requirements/testing/travis35.txt | 2 +-
requirements/testing/travis_all.txt | 4 +---
setupext.py | 2 +-
7 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst
index b40a46a6f..463e8c947 100644
--- a/doc/devel/contributing.rst
+++ b/doc/devel/contributing.rst
@@ -109,7 +109,7 @@ value.
Installing Matplotlib in developer mode
---------------------------------------
-To install Matplotlib (and compile the c-extensions) run the following
+To install Matplotlib (and compile the C-extensions) run the following
command from the top-level directory ::
python -mpip install -ve .
@@ -147,11 +147,11 @@ environment is set up properly::
.. _pytest: http://doc.pytest.org/en/latest/
.. _pep8: https://pep8.readthedocs.io/en/latest/
.. _Ghostscript: https://www.ghostscript.com/
-.. _Inkscape: https://inkscape.org>
+.. _Inkscape: https://inkscape.org/
.. note::
- **Additional dependencies for testing**: pytest_ (version 3.4 or later),
+ **Additional dependencies for testing**: pytest_ (version 3.6 or later),
Ghostscript_, Inkscape_
.. seealso::
diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst
index c3a5eb8f9..6e8c60fc6 100644
--- a/doc/devel/testing.rst
+++ b/doc/devel/testing.rst
@@ -21,11 +21,11 @@ Requirements
Install the latest version of Matplotlib as documented in
:ref:`installing_for_devs` In particular, follow the instructions to use a
-local FreeType build
+local FreeType build.
The following software is required to run the tests:
-- pytest_ (>=3.4)
+- pytest_ (>=3.6)
- Ghostscript_ (>= 9.0, to render PDF files)
- Inkscape_ (to render SVG files)
diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py
index 96528c8de..8cb90e083 100644
--- a/lib/matplotlib/testing/conftest.py
+++ b/lib/matplotlib/testing/conftest.py
@@ -24,19 +24,19 @@ def mpl_test_settings(request):
with _cleanup_cm():
backend = None
- backend_marker = request.keywords.get('backend')
+ backend_marker = request.node.get_closest_marker('backend')
if backend_marker is not None:
assert len(backend_marker.args) == 1, \
"Marker 'backend' must specify 1 backend."
- backend = backend_marker.args[0]
+ backend, = backend_marker.args
prev_backend = matplotlib.get_backend()
style = '_classic_test' # Default of cleanup and image_comparison too.
- style_marker = request.keywords.get('style')
+ style_marker = request.node.get_closest_marker('style')
if style_marker is not None:
assert len(style_marker.args) == 1, \
"Marker 'style' must specify 1 style."
- style = style_marker.args[0]
+ style, = style_marker.args
matplotlib.testing.setup()
if backend is not None:
@@ -73,7 +73,7 @@ def mpl_image_comparison_parameters(request, extension):
# pytest won't get confused.
# We annotate the decorated function with any parameters captured by this
# fixture so that they can be used by the wrapper in image_comparison.
- baseline_images = request.keywords['baseline_images'].args[0]
+ baseline_images, = request.node.get_closest_marker('baseline_images').args
if baseline_images is None:
# Allow baseline image list to be produced on the fly based on current
# parametrization.
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index f3fc47c68..c1bb1fdc2 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -215,8 +215,12 @@ class _ImageComparisonBase(object):
if self.remove_text:
remove_ticks_and_titles(fig)
+ ext = extension.args[0] if hasattr(extension, 'args') else extension
+ # XXX this is needed twice for test_mixedsubplots[extension2]
+ ext = ext.args[0] if hasattr(ext, 'args') else ext
+
actual_fname = (
- os.path.join(self.result_dir, baseline) + '.' + extension)
+ os.path.join(self.result_dir, baseline) + '.' + ext)
kwargs = self.savefig_kwargs.copy()
if extension == 'pdf':
kwargs.setdefault('metadata',
@@ -224,7 +228,7 @@ class _ImageComparisonBase(object):
'CreationDate': None})
fig.savefig(actual_fname, **kwargs)
- expected_fname = self.copy_baseline(baseline, extension)
+ expected_fname = self.copy_baseline(baseline, ext)
_raise_on_image_difference(expected_fname, actual_fname, self.tol)
diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt
index fc3c3428b..f137d3bbb 100644
--- a/requirements/testing/travis35.txt
+++ b/requirements/testing/travis35.txt
@@ -5,7 +5,7 @@ python-dateutil==2.1
numpy==1.10.0
pandas<0.21.0
pyparsing==2.0.1
-pytest==3.4
+pytest==3.6
pytest-cov==2.3.1
pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4.
pytest-rerunfailures<5 # newer versions require pytest3.6
diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt
index dcffd281e..3f5811b1b 100644
--- a/requirements/testing/travis_all.txt
+++ b/requirements/testing/travis_all.txt
@@ -6,9 +6,7 @@ cycler
numpy
pillow
pyparsing
-# pytest-timeout master depends on pytest>=3.6. Testing with pytest 3.4 is
-# still supported; this is tested by the first travis python 3.5 build
-pytest>=3.6,<4
+pytest
pytest-cov
pytest-faulthandler
pytest-rerunfailures
diff --git a/setupext.py b/setupext.py
index fc82d5d15..186217648 100644
--- a/setupext.py
+++ b/setupext.py
@@ -821,7 +821,7 @@ class Toolkits(OptionalPackage):
class Tests(OptionalPackage):
name = "tests"
- pytest_min_version = '3.4'
+ pytest_min_version = '3.6'
default_config = False
def check(self):
--
2.21.0

View File

@@ -0,0 +1,665 @@
From 928df2339ec6f8cc838f2b46c4bef4b10dc66c52 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 31 Mar 2018 00:15:14 -0400
Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/testing/decorators.py | 2 +-
lib/matplotlib/tests/test_artist.py | 2 +-
lib/matplotlib/tests/test_axes.py | 48 +++++++++----------
lib/matplotlib/tests/test_collections.py | 2 +-
lib/matplotlib/tests/test_colorbar.py | 10 ++--
.../tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_contour.py | 6 +--
lib/matplotlib/tests/test_cycles.py | 9 ++--
lib/matplotlib/tests/test_figure.py | 3 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 9 ++--
lib/matplotlib/tests/test_mathtext.py | 4 +-
lib/matplotlib/tests/test_patches.py | 3 +-
lib/matplotlib/tests/test_patheffects.py | 2 +-
lib/matplotlib/tests/test_pickle.py | 2 +-
lib/matplotlib/tests/test_quiver.py | 2 +-
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/matplotlib/tests/test_transforms.py | 2 +-
lib/matplotlib/tests/test_units.py | 3 +-
.../tests/test_axisartist_floating_axes.py | 4 +-
...test_axisartist_grid_helper_curvelinear.py | 7 ++-
lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
22 files changed, 60 insertions(+), 70 deletions(-)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index cd447976b..545bf2cfe 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -269,7 +269,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
return decorator
-def image_comparison(baseline_images, extensions=None, tol=0,
+def image_comparison(baseline_images, extensions=None, tol=0.1,
freetype_version=None, remove_text=False,
savefig_kwarg=None,
# Default of mpl_test_settings fixture and cleanup too.
diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py
index a598e822d..becc9b46d 100644
--- a/lib/matplotlib/tests/test_artist.py
+++ b/lib/matplotlib/tests/test_artist.py
@@ -94,7 +94,7 @@ def test_collection_transform_of_none():
assert isinstance(c._transOffset, mtransforms.IdentityTransform)
-@image_comparison(["clip_path_clipping"], remove_text=True)
+@image_comparison(["clip_path_clipping"], remove_text=True, tol=0.28)
def test_clipping():
exterior = mpath.Path.unit_rectangle().deepcopy()
exterior.vertices *= 4
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index b5bfc32c3..8bf3afb54 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -563,7 +563,7 @@ def test_single_point():
plt.plot('b', 'b', 'o', data=data)
-@image_comparison(['single_date.png'], style='mpl20')
+@image_comparison(['single_date.png'], style='mpl20', tol=1.97)
def test_single_date():
# use former defaults to match existing baseline image
plt.rcParams['axes.formatter.limits'] = -7, 7
@@ -1097,7 +1097,7 @@ def test_fill_between_interpolate():
@image_comparison(['fill_between_interpolate_decreasing'],
- style='mpl20', remove_text=True)
+ style='mpl20', remove_text=True, tol=0.78)
def test_fill_between_interpolate_decreasing():
p = np.array([724.3, 700, 655])
t = np.array([9.4, 7, 2.2])
@@ -1212,7 +1212,7 @@ def test_pcolormesh_alpha():
@image_comparison(['pcolormesh_datetime_axis.png'],
- remove_text=False, style='mpl20')
+ remove_text=False, style='mpl20', tol=0.19)
def test_pcolormesh_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1238,7 +1238,7 @@ def test_pcolormesh_datetime_axis():
@image_comparison(['pcolor_datetime_axis.png'],
- remove_text=False, style='mpl20')
+ remove_text=False, style='mpl20', tol=0.19)
def test_pcolor_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1294,7 +1294,8 @@ def test_canonical():
ax.plot([1, 2, 3])
-@image_comparison(['arc_angles.png'], remove_text=True, style='default')
+@image_comparison(['arc_angles.png'], remove_text=True, style='default',
+ tol=0.17)
def test_arc_angles():
from matplotlib import patches
# Ellipse parameters
@@ -2769,7 +2770,7 @@ def test_boxplot_mod_artist_after_plotting():
@image_comparison(['violinplot_vert_baseline.png',
- 'violinplot_vert_baseline.png'])
+ 'violinplot_vert_baseline.png'], tol=0.24)
def test_vert_violinplot_baseline():
# First 9 digits of frac(sqrt(2))
np.random.seed(414213562)
@@ -2786,7 +2787,7 @@ def test_vert_violinplot_baseline():
showmedians=0, data=data)
-@image_comparison(['violinplot_vert_showmeans.png'])
+@image_comparison(['violinplot_vert_showmeans.png'], tol=0.23)
def test_vert_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(3))
@@ -2796,7 +2797,7 @@ def test_vert_violinplot_showmeans():
showmedians=0)
-@image_comparison(['violinplot_vert_showextrema.png'])
+@image_comparison(['violinplot_vert_showextrema.png'], tol=0.23)
def test_vert_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(5))
@@ -2806,7 +2807,7 @@ def test_vert_violinplot_showextrema():
showmedians=0)
-@image_comparison(['violinplot_vert_showmedians.png'])
+@image_comparison(['violinplot_vert_showmedians.png'], tol=0.23)
def test_vert_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(7))
@@ -2816,7 +2817,7 @@ def test_vert_violinplot_showmedians():
showmedians=1)
-@image_comparison(['violinplot_vert_showall.png'])
+@image_comparison(['violinplot_vert_showall.png'], tol=0.2)
def test_vert_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(11))
@@ -2827,7 +2828,7 @@ def test_vert_violinplot_showall():
quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
-@image_comparison(['violinplot_vert_custompoints_10.png'])
+@image_comparison(['violinplot_vert_custompoints_10.png'], tol=0.22)
def test_vert_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(13))
@@ -2837,7 +2838,7 @@ def test_vert_violinplot_custompoints_10():
showmedians=0, points=10)
-@image_comparison(['violinplot_vert_custompoints_200.png'])
+@image_comparison(['violinplot_vert_custompoints_200.png'], tol=0.22)
def test_vert_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(17))
@@ -2847,7 +2848,7 @@ def test_vert_violinplot_custompoints_200():
showmedians=0, points=200)
-@image_comparison(['violinplot_horiz_baseline.png'])
+@image_comparison(['violinplot_horiz_baseline.png'], tol=0.2)
def test_horiz_violinplot_baseline():
ax = plt.axes()
# First 9 digits of frac(sqrt(19))
@@ -2857,7 +2858,7 @@ def test_horiz_violinplot_baseline():
showextrema=0, showmedians=0)
-@image_comparison(['violinplot_horiz_showmedians.png'])
+@image_comparison(['violinplot_horiz_showmedians.png'], tol=0.23)
def test_horiz_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(23))
@@ -2867,7 +2868,7 @@ def test_horiz_violinplot_showmedians():
showextrema=0, showmedians=1)
-@image_comparison(['violinplot_horiz_showmeans.png'])
+@image_comparison(['violinplot_horiz_showmeans.png'], tol=0.25)
def test_horiz_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(29))
@@ -2877,7 +2878,7 @@ def test_horiz_violinplot_showmeans():
showextrema=0, showmedians=0)
-@image_comparison(['violinplot_horiz_showextrema.png'])
+@image_comparison(['violinplot_horiz_showextrema.png'], tol=0.2)
def test_horiz_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(31))
@@ -2887,7 +2888,7 @@ def test_horiz_violinplot_showextrema():
showextrema=1, showmedians=0)
-@image_comparison(['violinplot_horiz_showall.png'])
+@image_comparison(['violinplot_horiz_showall.png'], tol=0.19)
def test_horiz_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(37))
@@ -2898,7 +2899,7 @@ def test_horiz_violinplot_showall():
quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
-@image_comparison(['violinplot_horiz_custompoints_10.png'])
+@image_comparison(['violinplot_horiz_custompoints_10.png'], tol=0.22)
def test_horiz_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(41))
@@ -2908,7 +2909,7 @@ def test_horiz_violinplot_custompoints_10():
showextrema=0, showmedians=0, points=10)
-@image_comparison(['violinplot_horiz_custompoints_200.png'])
+@image_comparison(['violinplot_horiz_custompoints_200.png'], tol=0.22)
def test_horiz_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(43))
@@ -3672,8 +3673,7 @@ def test_vertex_markers():
ax.set_ylim([-1, 10])
-@image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['vline_hline_zorder', 'errorbar_zorder'])
def test_eb_line_zorder():
x = list(range(10))
@@ -4360,7 +4360,7 @@ def test_psd_noise():
ax3.set_ylabel('')
-@image_comparison(['csd_freqs.png'], remove_text=True, tol=0.002)
+@image_comparison(['csd_freqs.png'], remove_text=True, tol=0.21)
def test_csd_freqs():
'''test axes.csd with sinusoidal stimuli'''
n = 10000
@@ -5264,7 +5264,7 @@ def test_rc_spines():
fig, ax = plt.subplots()
-@image_comparison(['rc_grid.png'], savefig_kwarg={'dpi': 40})
+@image_comparison(['rc_grid.png'], savefig_kwarg={'dpi': 40}, tol=0.2)
def test_rc_grid():
fig = plt.figure()
rc_dict0 = {
@@ -5806,7 +5806,7 @@ def test_date_timezone_y():
plt.plot_date([3] * 3, time_index, tz='UTC', xdate=False, ydate=True)
-@image_comparison(['date_timezone_x_and_y.png'])
+@image_comparison(['date_timezone_x_and_y.png'], tol=3.05)
def test_date_timezone_x_and_y():
# Tests issue 5575
UTC = datetime.timezone.utc
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 3f5b3bf1a..773573918 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -461,7 +461,7 @@ def test_EllipseCollection():
ax.autoscale_view()
-@image_comparison(['polycollection_close.png'], remove_text=True)
+@image_comparison(['polycollection_close.png'], remove_text=True, tol=0.45)
def test_polycollection_close():
from mpl_toolkits.mplot3d import Axes3D
diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
index 6d1f39149..4d70f8506 100644
--- a/lib/matplotlib/tests/test_colorbar.py
+++ b/lib/matplotlib/tests/test_colorbar.py
@@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing):
@image_comparison(['colorbar_extensions_shape_uniform.png',
- 'colorbar_extensions_shape_proportional.png'])
+ 'colorbar_extensions_shape_proportional.png'], tol=0.16)
def test_colorbar_extension_shape():
'''Test rectangular colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -104,7 +104,7 @@ def test_colorbar_extension_shape():
@image_comparison(['colorbar_extensions_uniform.png',
- 'colorbar_extensions_proportional.png'])
+ 'colorbar_extensions_proportional.png'], tol=0.25)
def test_colorbar_extension_length():
'''Test variable length colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -118,7 +118,7 @@ def test_colorbar_extension_length():
'cbar_sharing',
],
extensions=['png'], remove_text=True,
- savefig_kwarg={'dpi': 40})
+ savefig_kwarg={'dpi': 40}, tol=0.17)
def test_colorbar_positioning():
data = np.arange(1200).reshape(30, 40)
levels = [0, 200, 400, 600, 800, 1000, 1200]
@@ -171,7 +171,7 @@ def test_colorbar_positioning():
@image_comparison(['cbar_with_subplots_adjust.png'], remove_text=True,
- savefig_kwarg={'dpi': 40})
+ savefig_kwarg={'dpi': 40}, tol=0.17)
def test_gridspec_make_colorbar():
plt.figure()
data = np.arange(1200).reshape(30, 40)
@@ -226,7 +226,7 @@ def test_colorbarbase():
ColorbarBase(ax, plt.cm.bone)
-@image_comparison(['colorbar_closed_patch'], remove_text=True)
+@image_comparison(['colorbar_closed_patch'], remove_text=True, tol=0.22)
def test_colorbar_closed_patch():
fig = plt.figure(figsize=(8, 6))
ax1 = fig.add_axes([0.05, 0.85, 0.9, 0.1])
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index 75311e70e..64e7bcd25 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -234,7 +234,7 @@ def test_constrained_layout12():
ax.set_xlabel('x-label')
-@image_comparison(['constrained_layout13.png'], tol=2.e-2)
+@image_comparison(['constrained_layout13.png'], tol=3e-2)
def test_constrained_layout13():
'Test that padding works.'
fig, axs = plt.subplots(2, 2, constrained_layout=True)
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
index 4aabd36a7..14a52920e 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -162,7 +162,7 @@ def test_given_colors_levels_and_extends():
@image_comparison(['contour_datetime_axis.png'],
- remove_text=False, style='mpl20')
+ remove_text=False, style='mpl20', tol=0.18)
def test_contour_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -188,7 +188,7 @@ def test_contour_datetime_axis():
@image_comparison(['contour_test_label_transforms.png'],
- remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20', tol=1.38)
def test_labels():
# Adapted from pylab_examples example code: contour_demo.py
# see issues #2475, #2843, and #2818 for explanation
@@ -219,7 +219,7 @@ def test_labels():
@image_comparison(['contour_corner_mask_False.png',
'contour_corner_mask_True.png'],
- remove_text=True)
+ remove_text=True, tol=0.19)
def test_corner_mask():
n = 60
mask_level = 0.95
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
index ee67b4e41..3ae6e4ebc 100644
--- a/lib/matplotlib/tests/test_cycles.py
+++ b/lib/matplotlib/tests/test_cycles.py
@@ -8,8 +8,7 @@ import pytest
from cycler import cycler
-@image_comparison(['color_cycle_basic.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['color_cycle_basic.png'], remove_text=True)
def test_colorcycle_basic():
fig, ax = plt.subplots()
ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
@@ -25,8 +24,7 @@ def test_colorcycle_basic():
ax.legend(loc='upper left')
-@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True)
def test_marker_cycle():
fig, ax = plt.subplots()
ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
@@ -58,8 +56,7 @@ def test_marker_cycle():
ax.legend(loc='upper left')
-@image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['lineprop_cycle_basic.png'], remove_text=True)
def test_linestylecycle_basic():
fig, ax = plt.subplots()
ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index b5ca0ed5b..272fd6101 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -13,8 +13,7 @@ import numpy as np
import pytest
-@image_comparison(['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['figure_align_labels'])
def test_align_labels():
# Check the figure.align_labels() command
fig = plt.figure(tight_layout=True)
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
index 93cfbb260..6dcdac4dd 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -928,7 +928,7 @@ def test_imshow_endianess():
@image_comparison(['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.25,
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 71499da44..42413a5c1 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -105,8 +105,7 @@ def test_multiple_keys():
(p2, p1): HandlerTuple(ndivide=None, pad=0)})
-@image_comparison(['rgba_alpha.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['rgba_alpha.png'], remove_text=True)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -116,8 +115,7 @@ def test_alpha_rgba():
leg.legendPatch.set_facecolor([1, 0, 0, 0.5])
-@image_comparison(['rcparam_alpha.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['rcparam_alpha.png'], remove_text=True)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -144,8 +142,7 @@ def test_fancy():
ncol=2, shadow=True, title="My legend", numpoints=1)
-@image_comparison(['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(['framealpha'], remove_text=True)
def test_framealpha():
x = np.linspace(1, 100, 100)
y = x
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
index 508e29fa0..f6862e631 100644
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -172,7 +172,7 @@ def baseline_images(request, fontset, index):
['cm', 'stix', 'stixsans', 'dejavusans',
'dejavuserif'])
@pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True)
-@image_comparison(baseline_images=None)
+@image_comparison(baseline_images=None, tol=0.31)
def test_mathtext_rendering(baseline_images, fontset, index, test, recwarn):
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))
@@ -186,7 +186,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test, recwarn):
['cm', 'stix', 'stixsans', 'dejavusans',
'dejavuserif'])
@pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True)
-@image_comparison(baseline_images=None, extensions=['png'])
+@image_comparison(baseline_images=None, extensions=['png'], tol=0.3)
def test_mathfont_rendering(baseline_images, fontset, index, test, recwarn):
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))
diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py
index c0eda5542..62670dbbf 100644
--- a/lib/matplotlib/tests/test_patches.py
+++ b/lib/matplotlib/tests/test_patches.py
@@ -257,8 +257,7 @@ def test_wedge_movement():
assert getattr(w, attr) == new_v
-# png needs tol>=0.06, pdf tol>=1.617
-@image_comparison(['wedge_range'], remove_text=True, tol=1.65 if on_win else 0)
+@image_comparison(['wedge_range'], remove_text=True)
def test_wedge_range():
ax = plt.axes()
diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
index eddd1a3a1..f6993ec31 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.084, 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_pickle.py b/lib/matplotlib/tests/test_pickle.py
index 0fad3cdf2..aab0b29c6 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -41,7 +41,7 @@ def test_simple():
@image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
+ tol=0.11)
def test_complete():
fig = plt.figure('Figure with a label?', figsize=(10, 6))
diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py
index 719c8fbc1..fd28062e1 100644
--- a/lib/matplotlib/tests/test_quiver.py
+++ b/lib/matplotlib/tests/test_quiver.py
@@ -173,7 +173,7 @@ def test_quiver_key_xy():
ax.quiverkey(q, X=x, Y=0.8, U=1, angle=angle, label='', color='b')
-@image_comparison(['barbs_test_image.png'], remove_text=True)
+@image_comparison(['barbs_test_image.png'], remove_text=True, tol=0.11)
def test_barbs():
x = np.linspace(-5, 5, 5)
X, Y = np.meshgrid(x, x)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index 1afc60543..aa12ab5ea 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -40,7 +40,7 @@ def test_startpoints():
@image_comparison(['streamplot_colormap'],
- tol=.04, remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20')
def test_colormap():
X, Y, U, V = velocity_field()
plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py
index f35467ee7..b3ca0c020 100644
--- a/lib/matplotlib/tests/test_transforms.py
+++ b/lib/matplotlib/tests/test_transforms.py
@@ -68,7 +68,7 @@ def test_external_transform_api():
@image_comparison(['pre_transform_data'],
- tol=0.08, remove_text=True, style='mpl20')
+ tol=0.155, remove_text=True, style='mpl20')
def test_pre_transform_plotting():
# a catch-all for as many as possible plot layouts which handle
# pre-transforming the data NOTE: The axis range is important in this
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index f14425144..c1afffcaa 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -73,8 +73,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))
+@image_comparison(['plot_pint.png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# use former defaults to match existing baseline image
plt.rcParams['axes.formatter.limits'] = -7, 7
diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
index e69b63f99..0c2dd5660 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
@@ -18,7 +18,7 @@ def test_subplot():
fig.add_subplot(ax)
-@image_comparison(['curvelinear3.png'], style='default', tol=0.01)
+@image_comparison(['curvelinear3.png'], style='default', tol=0.02)
def test_curvelinear3():
fig = plt.figure(figsize=(5, 5))
@@ -72,7 +72,7 @@ def test_curvelinear3():
l.set_clip_path(ax1.patch)
-@image_comparison(['curvelinear4.png'], style='default', tol=0.015)
+@image_comparison(['curvelinear4.png'], style='default', tol=0.055)
def test_curvelinear4():
# Remove this line when this test image is regenerated.
plt.rcParams['text.kerning_factor'] = 6
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 611908063..8add49b46 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
@@ -16,8 +16,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
GridHelperCurveLinear
-@image_comparison(['custom_transform.png'], style='default',
- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
+@image_comparison(['custom_transform.png'], style='default', tol=0.035)
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -84,7 +83,7 @@ def test_custom_transform():
@image_comparison(['polar_box.png'], style='default',
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03))
+ tol=0.08)
def test_polar_box():
# Remove this line when this test image is regenerated.
plt.rcParams['text.kerning_factor'] = 6
@@ -147,7 +146,7 @@ def test_polar_box():
ax1.grid(True)
-@image_comparison(['axis_direction.png'], style='default', tol=0.03)
+@image_comparison(['axis_direction.png'], style='default', tol=0.05)
def test_axis_direction():
# Remove this line when this test image is regenerated.
plt.rcParams['text.kerning_factor'] = 6
diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
index 592096b74..69ac5a2b3 100644
--- a/lib/mpl_toolkits/tests/test_mplot3d.py
+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
@@ -280,7 +280,7 @@ def test_text3d():
ax.set_zlabel('Z axis')
-@image_comparison(['trisurf3d.png'], remove_text=True, tol=0.03)
+@image_comparison(['trisurf3d.png'], remove_text=True, tol=0.05)
def test_trisurf3d():
n_angles = 36
n_radii = 8
@@ -756,7 +756,7 @@ class TestVoxels:
assert voxels[coord], "faces returned for absent voxel"
assert isinstance(poly, art3d.Poly3DCollection)
- @image_comparison(['voxels-xyz.png'], tol=0.01)
+ @image_comparison(['voxels-xyz.png'], tol=0.02)
def test_xyz(self):
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
--
2.25.4

View File

@@ -1,86 +1,76 @@
From 179885bd9a442bc171e562a8997abde2824997fa Mon Sep 17 00:00:00 2001
From 91ef378043f12f16a9a1f03437d9f51220dff305 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 31 Mar 2018 00:33:37 -0400
Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches.
Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
lib/matplotlib/tests/test_axes.py | 6 +++---
lib/matplotlib/tests/test_axes.py | 4 ++--
lib/matplotlib/tests/test_backends_interactive.py | 2 +-
lib/matplotlib/tests/test_collections.py | 2 +-
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_constrainedlayout.py | 3 ++-
lib/matplotlib/tests/test_cycles.py | 6 +++---
lib/matplotlib/tests/test_figure.py | 2 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 6 +++---
lib/matplotlib/tests/test_pickle.py | 2 +-
lib/matplotlib/tests/test_scale.py | 2 +-
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/matplotlib/tests/test_units.py | 4 ++--
.../tests/test_axisartist_grid_helper_curvelinear.py | 4 ++--
14 files changed, 23 insertions(+), 23 deletions(-)
13 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
index f678fbed3..bac0cb802 100644
index a9409e2c1..9627b3569 100644
--- a/lib/matplotlib/tests/test_arrow_patches.py
+++ b/lib/matplotlib/tests/test_arrow_patches.py
@@ -69,7 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test():
@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'],
remove_text=True, extensions=['png'],
@image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.016,
savefig_kwarg=dict(dpi=100))
def test_fancyarrow_dpi_cor_100dpi():
"""
@@ -85,7 +85,7 @@ def test_fancyarrow_dpi_cor_100dpi():
@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'],
remove_text=True, extensions=['png'],
@image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.019,
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 c0e0e560d..0021bbda4 100644
index b5bfc32c3..a956412d1 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -387,7 +387,7 @@ def test_annotate_default_arrow():
@@ -407,7 +407,7 @@ def test_annotate_default_arrow():
assert ann.arrow_patch is not None
-@image_comparison(baseline_images=['polar_axes'], style='default')
+@image_comparison(baseline_images=['polar_axes'], style='default', tol=0.01)
-@image_comparison(['polar_axes'], style='default')
+@image_comparison(['polar_axes'], style='default', tol=0.01)
def test_polar_annotations():
# you can specify the xypoint and the xytext in different
# positions and coordinate systems, and optionally turn on a
@@ -3370,7 +3370,7 @@ def test_vertex_markers():
@@ -3673,7 +3673,7 @@ def test_vertex_markers():
@image_comparison(baseline_images=['vline_hline_zorder',
'errorbar_zorder'],
@image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.02)
def test_eb_line_zorder():
x = list(range(10))
@@ -5142,7 +5142,7 @@ def test_title_location_roundtrip():
@image_comparison(baseline_images=["loglog"], remove_text=True,
extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.009)
def test_loglog():
fig, ax = plt.subplots()
x = np.arange(1, 11)
diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py
index 00cbf5db9..33e6fb21a 100644
index 7465bb919..8300ab627 100644
--- a/lib/matplotlib/tests/test_backends_interactive.py
+++ b/lib/matplotlib/tests/test_backends_interactive.py
@@ -105,7 +105,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start())
plt.show()
@@ -126,7 +126,7 @@ if not backend.startswith('qt5') and sys.platform == 'darwin':
# not resize incorrectly.
assert_equal(result.getvalue(), result_after.getvalue())
"""
-_test_timeout = 10 # Empirically, 1s is not enough on Travis.
+_test_timeout = 30 # Empirically, 1s is not enough on Travis.
@@ -88,202 +78,190 @@ index 00cbf5db9..33e6fb21a 100644
@pytest.mark.parametrize("backend", _get_testable_interactive_backends())
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 6812ee1ad..582aabb5c 100644
index 3f5b3bf1a..8c5549bad 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -442,7 +442,7 @@ def test_barb_limits():
@@ -439,7 +439,7 @@ def test_barb_limits():
@image_comparison(baseline_images=['EllipseCollection_test_image'],
extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.012,
remove_text=True)
@image_comparison(['EllipseCollection_test_image.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.012)
def test_EllipseCollection():
# Test basic functionality
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index de8161ea7..2af2d6a42 100644
index 75311e70e..8de7b987d 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -173,7 +173,7 @@ def test_constrained_layout9():
@@ -164,7 +164,8 @@ def test_constrained_layout9():
fig.suptitle('Test Suptitle', fontsize=28)
@image_comparison(baseline_images=['constrained_layout10'],
- extensions=['png'])
+ extensions=['png'], tol=0.01)
-@image_comparison(['constrained_layout10.png'])
+@image_comparison(['constrained_layout10.png'],
+ tol=0.01)
def test_constrained_layout10():
'Test for handling legend outside axis'
fig, axs = plt.subplots(2, 2, constrained_layout=True)
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
index 8184d3eee..73b0f216d 100644
index ee67b4e41..c52a5b0f8 100644
--- a/lib/matplotlib/tests/test_cycles.py
+++ b/lib/matplotlib/tests/test_cycles.py
@@ -10,7 +10,7 @@ from cycler import cycler
@@ -9,7 +9,7 @@ from cycler import cycler
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
extensions=['png'])
@image_comparison(['color_cycle_basic.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.008)
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -28,7 +28,7 @@ def test_colorcycle_basic():
ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
@@ -26,7 +26,7 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
remove_text=True, extensions=['png'])
@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.008)
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -62,7 +62,7 @@ def test_marker_cycle():
ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
@@ -59,7 +59,7 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.009,
extensions=['png'])
@image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.009)
def test_linestylecycle_basic():
fig, ax = plt.subplots()
ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 4c688eb05..63f562770 100644
index b5ca0ed5b..284cccb15 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -14,7 +14,7 @@ import pytest
@image_comparison(baseline_images=['figure_align_labels'],
@image_comparison(['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.01)
def test_align_labels():
# Check the figure.align_labels() command
fig = plt.figure(tight_layout=True)
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
index c0ffc061a..ca15df113 100644
index 93cfbb260..122c884da 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -766,7 +766,7 @@ def test_imshow_endianess():
@@ -928,7 +928,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['imshow_masked_interpolation'],
@image_comparison(['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.006,
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 d508d6f41..9147ef336 100644
index 71499da44..23cfcb873 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,7 @@ def test_multiple_keys():
@@ -106,7 +106,7 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
@image_comparison(['rgba_alpha.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.007)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +120,7 @@ def test_alpha_rgba():
@@ -117,7 +117,7 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
@image_comparison(['rcparam_alpha.png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.007)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -149,7 +149,7 @@ def test_fancy():
@@ -145,7 +145,7 @@ def test_fancy():
@image_comparison(baseline_images=['framealpha'], remove_text=True,
@image_comparison(['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.018)
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 9cb806c6f..91774abfd 100644
index 0fad3cdf2..4d2599607 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -44,7 +44,7 @@ def test_simple():
@@ -41,7 +41,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.004,
style='mpl20')
@image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
+ tol=0.082)
def test_complete():
fig = plt.figure('Figure with a label?', figsize=(10, 6))
diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py
index ebe5c4de9..2999b624d 100644
--- a/lib/matplotlib/tests/test_scale.py
+++ b/lib/matplotlib/tests/test_scale.py
@@ -99,7 +99,7 @@ def test_logscale_transform_repr():
@image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
extensions=['png'], style='mpl20')
def test_logscale_nonpos_values():
np.random.seed(19680801)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index e261513df..c8c8faf99 100644
index 1afc60543..dcac38102 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -49,7 +49,7 @@ def test_colormap():
@image_comparison(baseline_images=['streamplot_linewidth'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.002,
remove_text=True, style='mpl20')
@image_comparison(['streamplot_linewidth'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.002)
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 fec498af3..12a8d8a3e 100644
index f14425144..fd8f26502 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -75,7 +75,7 @@ def quantity_converter():
@@ -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(baseline_images=['plot_pint'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.003,
extensions=['png'], remove_text=False, style='mpl20')
@image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.003)
def test_numpy_facade(quantity_converter):
# Register the class
@@ -100,7 +100,7 @@ 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(baseline_images=['plot_masked_units'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True, style='mpl20')
@image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.007)
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_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
index 32e1c884d..741d197b5 100644
index 611908063..be11d7c6b 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,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
@image_comparison(baseline_images=['custom_transform'],
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.04)
@image_comparison(['custom_transform.png'], style='default',
- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
+ tol=0.04)
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -85,7 +85,7 @@ def test_custom_transform():
@@ -84,7 +84,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.04,
extensions=['png'], style='default')
@image_comparison(['polar_box.png'], style='default',
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03))
+ tol=0.04)
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
# Remove this line when this test image is regenerated.
plt.rcParams['text.kerning_factor'] = 6
--
2.20.1
2.25.4

View File

@@ -34,17 +34,17 @@
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
#global rctag rc1
#global rctag rc2
# Updated test images for new FreeType.
%global mpl_images_version 3.0.1
%global mpl_images_version 3.2.2
# The version of FreeType in this Fedora branch.
%global ftver 2.9.1
%global ftver 2.10.1
Name: python-matplotlib
Version: 3.0.3
Release: 2%{?rctag:.%{rctag}}%{?dist}
Version: 3.2.2
Release: 1%{?rctag:.%{rctag}}%{?dist}
Summary: Python 2D plotting library
# qt4_editor backend is MIT
License: Python and MIT
@@ -66,17 +66,18 @@ Patch0002: 0001-Use-packaged-jquery-and-jquery-ui.patch
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:
Patch1001: 0001-matplotlibrc-path-search-fix.patch
# Increase tolerances for new FreeType everywhere:
Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch
# Image tolerances for anything but x86_64:
Patch1002: 0002-Increase-tolerances-for-non-x86_64-arches.patch
Patch1003: 0003-Increase-tolerances-for-non-x86_64-arches.patch
# Image tolerances for 32-bit systems: i686 armv7hl
Patch1003: 0003-Increase-some-tolerances-for-32-bit-systems.patch
Patch1004: 0004-Increase-some-tolerances-for-32-bit-systems.patch
# Image tolerances for 64-bit (but not x86_64) systems: aarch64 ppc64(le) s390x
Patch1004: 0003-Increase-some-tolerances-for-non-x86-arches.patch
# Support pytest 4 (from a3b9ef7c7c8750ff65d9341fb20811b2c4c99a73)
Patch1005: 0004-Avoid-triggering-deprecation-warnings-with-pytest-3..patch
Patch1005: 0004-Increase-some-tolerances-for-non-x86-arches.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-langpack-en
BuildRequires: freetype-devel
BuildRequires: libpng-devel
BuildRequires: qhull-devel
@@ -85,11 +86,11 @@ BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
%description
Matplotlib is a python 2D plotting library which produces publication
Matplotlib is a Python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
environments across platforms. Matplotlib can be used in Python
scripts, the Python and IPython shell, web application servers, and
various graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
@@ -146,6 +147,8 @@ Requires: python3-kiwisolver
Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
%if %{run_tests}
BuildRequires: python3-pytest
BuildRequires: python3-pytest-rerunfailures
BuildRequires: python3-pytest-timeout
BuildRequires: python3-pytest-xdist
%endif
Requires: python3-numpy
@@ -159,11 +162,11 @@ Provides: bundled(stix-math-fonts)
%{?python_provide:%python_provide python3-matplotlib}
%description -n python3-matplotlib
Matplotlib is a python 2D plotting library which produces publication
Matplotlib is a Python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
environments across platforms. Matplotlib can be used in Python
scripts, the Python and IPython shell, web application servers, and
various graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
@@ -260,49 +263,33 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
# Fedora-specific patches follow:
%patch1001 -p1
# Updated test images for new FreeType.
%patch1002 -p1
gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~'
%ifnarch x86_64
%patch1002 -p1
%patch1003 -p1
%endif
%ifarch aarch64 ppc64 ppc64le s390x
%patch1004 -p1
%patch1005 -p1
%endif
%ifarch i686 armv7hl
%patch1003 -p1
%patch1004 -p1
%endif
rm -r extern/libqhull
%patch1005 -p1
# Copy setup.cfg to the builddir
cp -p %{SOURCE1} setup.cfg
# Keep this until next version, and increment if changing from
# USE_FONTCONFIG to False or True so that cache is regenerated
# if updated from a version enabling fontconfig to one not
# enabling it, or vice versa
if [ %{version} = 1.4.3 ]; then
sed -i 's/\(__version__ = 200\)/\1.1/' lib/matplotlib/font_manager.py
fi
%if !%{with_bundled_fonts}
# Use fontconfig by default
sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
%endif
%build
%set_build_flags
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python3} setup.py build
%if %{with_html}
# Need to make built matplotlib libs available for the sphinx extensions:
pushd doc
MPLCONFIGDIR=$PWD/.. \
MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \
PYTHONPATH=`realpath ../build/lib.linux*` \
%{__python3} make.py html
popd
@@ -315,7 +302,6 @@ find examples -name '*.py' -exec chmod a-x '{}' \;
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python3} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
@@ -336,26 +322,28 @@ export http_proxy=http://127.0.0.1/
# Skips:
# * test_invisible_Line_rendering: Checks for "slowness" that often fails on a
# heavily-loaded builder.
# * test_tinypages fails due to new Sphinx warning
# * wxagg is broken on ppc64le:
# https://bugzilla.redhat.com/show_bug.cgi?id=1738752
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
-m 'not network' \
-k 'not test_invisible_Line_rendering and not backend_qt5 and not test_tinypages'
%ifarch ppc64le
-k 'not test_invisible_Line_rendering and not Qt5Agg and not wxagg'
%else
-k 'not test_invisible_Line_rendering and not Qt5Agg'
%endif
# Run Qt5Agg tests separately to not conflict with Qt4 tests.
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
-m 'not network' \
matplotlib.tests.test_backend_qt5
-m 'not network' -k 'Qt5Agg'
%endif
%files -n python3-matplotlib-data
@@ -391,9 +379,7 @@ PYTHONDONTWRITEBYTECODE=1 \
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4*
#exclude #{python3_sitearch}/matplotlib/backends/backend_qt5*.py
#exclude #{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/_gtk3_compat.py
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*.py
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_gtk3_compat.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%exclude %{python3_sitearch}/matplotlib/backends/_backend_tk.py
%exclude %{python3_sitearch}/matplotlib/backends/backend_tk*.py
@@ -428,27 +414,48 @@ PYTHONDONTWRITEBYTECODE=1 \
%files -n python3-matplotlib-gtk3
%{python3_sitearch}/matplotlib/backends/backend_gtk*.py
%{python3_sitearch}/matplotlib/backends/_gtk3_compat.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%{python3_sitearch}/matplotlib/backends/__pycache__/_gtk3_compat.*
%files -n python3-matplotlib-tk
%{python3_sitearch}/matplotlib/backends/backend_tk*.py
%{python3_sitearch}/matplotlib/backends/_backend_tk.py
%{python3_sitearch}/matplotlib/backends/tkagg.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tk*.*
%{python3_sitearch}/matplotlib/backends/__pycache__/_backend_tk.*
%{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%{python3_sitearch}/matplotlib/backends/_tkagg.*
%files -n python3-matplotlib-wx
%{python3_sitearch}/matplotlib/backends/backend_wx*.py
%{python3_sitearch}/matplotlib/backends/wx_compat.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_wx*
%{python3_sitearch}/matplotlib/backends/__pycache__/wx_compat.*
%changelog
* Sat Jun 20 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.2.2-1
- Update to latest version
* Wed Mar 18 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.2.1-1
- Update to latest version
* Tue Mar 03 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.2.0-1
- Update to latest version
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Nov 22 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.2-1
- Update to latest version
* Fri Sep 06 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.1-2
- Backport bool deprecation fix for Python 3.8
* Sun Aug 18 2019 Miro Hrončok <mhroncok@redhat.com> - 3.1.1-1.1
- Rebuilt for Python 3.8
* Thu Aug 08 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.1-1
- Update to latest version
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jul 3 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.3-2
- Update Obsoletes to be later than the last python2 builds (#1726490)

View File

@@ -1,2 +1,2 @@
SHA512 (matplotlib-3.0.3.tar.gz) = 9fe00b8d0ca6dcf2f1b907118b656353e115b73f8b21adeb4391c87e164c111a4994c3ac17cdd02e75b896d9aa26c279618132f9a7bfe995c0f7c62356ed85ad
SHA512 (matplotlib-3.0.1-with-freetype-2.9.1.tar.gz) = 7d2f9fa2a1ae58107283877cbb96d74f79cfda4d6328bdee90d88b2a286eaad9ae8ff6d764f10a5c05eec6fb5de8598cada168fe7c85d33bd07873fdfc142e3a
SHA512 (matplotlib-3.2.2.tar.gz) = 4c9312e929357a7c73ead51fa1a679c04b2b9735edfe0f1a2d08a07ec4d94d67df4ff6e8c6d594665a3b270cd3033c48ea8f2aa50fb1e2746812f24c27181f59
SHA512 (matplotlib-3.2.2-with-freetype-2.10.1.tar.gz) = 498fb1224f74c5254e3a2620d4d36571ed712a7ac261bcb4b2a548ea57d6b7431634dfad547b529d6fa1a3fab90e6b489150afe815485a3030d1e899edfd9be8