| |
@@ -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
|
| |
+
|
| |
See https://bugzilla.redhat.com/show_bug.cgi?id=1699123