Compare commits

...

9 Commits
f30 ... epel8

Author SHA1 Message Date
Orion Poplawski
44c2a728ac Enable wx backend (bz#1955488) 2022-01-18 19:14:50 -07:00
Troy Dawson
0e996bb26d remove package.cfg per new epel-playground policy 2020-09-24 16:08:49 +00:00
Orion Poplawski
b29f41cf45 Merge branch 'epel8-playground' into epel8 2020-01-11 21:38:06 -07:00
Orion Poplawski
588e490738 Disable qt4 and wx for EPEL8 2019-09-17 20:42:07 -06:00
Igor Gnatenko
0958869c1a "Adding package.cfg file" 2019-09-11 08:57:28 +02:00
Zbigniew Jędrzejewski-Szmek
6ae3a9e1d1 Remove comment after %endif
RPM 4.15 complains.
2019-07-03 11:55:57 +02:00
Zbigniew Jędrzejewski-Szmek
831ec4cba0 Update Obsoletes to be later than the last python2 builds 2019-07-03 11:55:18 +02:00
Miro Hrončok
49e6227f01 Skip test_tinypages
tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_tinypages0')
    def test_tinypages(tmpdir):
        html_dir = pjoin(str(tmpdir), 'html')
        doctree_dir = pjoin(str(tmpdir), 'doctrees')
        # Build the pages with warnings turned into errors
        cmd = [sys.executable, '-msphinx', '-W', '-b', 'html', '-d', doctree_dir,
               pjoin(dirname(__file__), 'tinypages'), html_dir]
        proc = Popen(cmd, stdout=PIPE, stderr=PIPE, universal_newlines=True)
        out, err = proc.communicate()
        assert proc.returncode == 0, \
            "sphinx build failed with stdout:\n{}\nstderr:\n{}\n".format(out, err)
        if err:
            pytest.fail("sphinx build emitted the following warnings:\n{}"
>                       .format(err))
E           Failed: sphinx build emitted the following warnings:
E           /usr/lib/python3.7/site-packages/sphinx/util/docutils.py:311: RemovedInSphinx30Warning: function based directive support is now deprecated. Use class based directive instead.
E             RemovedInSphinx30Warning)
../../BUILDROOT/python-matplotlib-3.0.3-1.fc31.x86_64/usr/lib64/python3.7/site-packages/matplotlib/sphinxext/tests/test_tinypages.py:28: Failed
2019-04-23 13:33:26 +02:00
Miro Hrončok
120f1b74da Support pytest 4 2019-04-23 13:33:26 +02:00
2 changed files with 217 additions and 8 deletions

View File

@@ -0,0 +1,170 @@
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

@@ -1,5 +1,13 @@
%global with_html 0
# No qt4 for EL8
%if 0%{rhel} >= 8
%bcond_with qt4
%else
%bcond_without qt4
%endif
%bcond_without wx
# It seems like there's some kind of weird occasional error where a
# build (often aarch64 or ppc64) will fail in one of the Stix font
# tests with a huge RMS difference, but if you run the same build again,
@@ -44,7 +52,7 @@
Name: python-matplotlib
Version: 3.0.3
Release: 1%{?rctag:.%{rctag}}%{?dist}
Release: 4%{?rctag:.%{rctag}}%{?dist}
Summary: Python 2D plotting library
# qt4_editor backend is MIT
License: Python and MIT
@@ -60,8 +68,8 @@ Patch0001: 0001-Force-using-system-qhull.patch
Patch0002: 0001-Use-packaged-jquery-and-jquery-ui.patch
# Fedora-specific patches; see:
# https://github.com/QuLogic/matplotlib/tree/fedora-patches
# https://github.com/QuLogic/matplotlib/tree/fedora-patches-non-x86
# https://github.com/fedora-python/matplotlib/tree/fedora-patches
# https://github.com/fedora-python/matplotlib/tree/fedora-patches-non-x86
# Updated test images for new FreeType.
Source1000: https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_version}-with-freetype-%{ftver}/matplotlib-%{mpl_images_version}-with-freetype-%{ftver}.tar.gz
# Search in /etc/matplotlibrc:
@@ -72,6 +80,8 @@ Patch1002: 0002-Increase-tolerances-for-non-x86_64-arches.patch
Patch1003: 0003-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
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -99,7 +109,7 @@ BuildArch: noarch
%if %{with_bundled_fonts}
Requires: python3-matplotlib-data-fonts = %{version}-%{release}
%endif
Obsoletes: python-matplotlib-data < 2.2.3-2
Obsoletes: python-matplotlib-data < 3
%{?python_provide:%python_provide python3-matplotlib-data}
%description -n python3-matplotlib-data
@@ -113,7 +123,7 @@ Summary: Fonts used by python-matplotlib
License: OFL and Bitstream Vera and Public Domain
BuildArch: noarch
Requires: python3-matplotlib-data = %{version}-%{release}
Obsoletes: python-matplotlib-data-fonts < 2.2.3-2
Obsoletes: python-matplotlib-data-fonts < 3
%{?python_provide:%python_provide python3-matplotlib-data-fonts}
%description -n python3-matplotlib-data-fonts
@@ -167,6 +177,7 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%if %{with qt4}
%package -n python3-matplotlib-qt4
Summary: Qt4 backend for python3-matplotlib
BuildRequires: python3-PyQt4-devel
@@ -177,6 +188,7 @@ Requires: python3-PyQt4
%description -n python3-matplotlib-qt4
%{summary}
%endif
%package -n python3-matplotlib-qt5
Summary: Qt5 backend for python3-matplotlib
@@ -211,6 +223,7 @@ Requires: python3-tkinter
%description -n python3-matplotlib-tk
%{summary}
%if %{with wx}
%package -n python3-matplotlib-wx
Summary: WX backend for python3-matplotlib
BuildRequires: python3-wxpython4
@@ -220,6 +233,7 @@ Requires: python3-wxpython4
%description -n python3-matplotlib-wx
%{summary}
%endif
%package -n python3-matplotlib-doc
Summary: Documentation files for python-matplotlib
@@ -270,6 +284,11 @@ gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{mpl_images_version
%endif
rm -r extern/libqhull
# Old pytest in EL8
%if ! ( 0%{?rhel} >= 8 )
%patch1005 -p1
%endif
# Copy setup.cfg to the builddir
cp -p %{SOURCE1} setup.cfg
@@ -332,6 +351,13 @@ 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
# * test_determinism_all fails on s390x
%ifarch s390x
fail=0
%else
fail=1
%endif
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
@@ -340,7 +366,7 @@ 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'
-k 'not test_invisible_Line_rendering and not backend_qt5 and not test_tinypages' || exit $fail
# Run Qt5Agg tests separately to not conflict with Qt4 tests.
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
@@ -350,8 +376,8 @@ 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
%endif # run_tests
matplotlib.tests.test_backend_qt5 || exit $fail
%endif
%files -n python3-matplotlib-data
%{_sysconfdir}/matplotlibrc
@@ -407,11 +433,13 @@ PYTHONDONTWRITEBYTECODE=1 \
%{python3_sitearch}/matplotlib/tests/baseline_images/
%{python3_sitearch}/mpl_toolkits/tests/baseline_images/
%if %{with qt4}
%files -n python3-matplotlib-qt4
%{python3_sitearch}/matplotlib/backends/backend_qt4.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.*
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
%endif
# This subpackage is empty because the Qt4 backend imports it, so we leave
# these files in the default package, and only use this one for dependencies.
@@ -436,14 +464,25 @@ PYTHONDONTWRITEBYTECODE=1 \
%{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%{python3_sitearch}/matplotlib/backends/_tkagg.*
%if %{with wx}
%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.*
%endif
%changelog
* Wed Jan 19 2022 Orion Poplawski <orion@nwra.com> - 3.0.3-4
- Enable wx backend (bz#1955488)
* Tue Sep 17 2019 Orion Poplawski <orion@nwra.com> - 3.0.3-3
- Disable qt4 and wx for EPEL8
* 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)
* Sat Mar 02 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.3-1
- Update to latest version