From a2d734f7d364537d454e5229ac683bdd0bc7e6e3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 14 Jan 2021 17:46:23 -0500 Subject: [PATCH 1/3] Fix brew installation on Azure pipelines. --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index a5c8544b7e88..3c8227b6f26f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -72,7 +72,7 @@ steps: texlive-xetex texlive-luatex ;; darwin) - brew cask install xquartz + brew install --cask xquartz brew install pkg-config ffmpeg imagemagick mplayer ccache ;; win32) From ae1d2db0a463564fadcedc43873c1fc75bb36cd6 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 14 Jan 2021 18:18:56 -0500 Subject: [PATCH 2/3] Don't allow pyzmq 21.0.0 on AppVeyor. This version is broken on Windows: https://github.com/zeromq/pyzmq/pull/1470. --- .appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.appveyor.yml b/.appveyor.yml index 49611c66a254..2aad7be9d847 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -18,6 +18,7 @@ environment: PYTHONIOENCODING: UTF-8 PYTEST_ARGS: -raR --numprocesses=auto --timeout=300 --durations=25 --cov-report= --cov=lib --log-level=DEBUG + PINNEDVERS: "pyzmq!=21.0.0" matrix: # In theory we could use a single CONDA_INSTALL_LOCN because we construct From ed3760ff377ca9c81dc8515849ecb43171748033 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 14 Jan 2021 18:38:58 -0500 Subject: [PATCH 3/3] TST: Mark Cairo backends as not threadsafe. Cairo backends save the `cairo_t` object on the graphics context (as `self.gc.ctx`), but this object is not threadsafe. --- .../tests/test_backends_interactive.py | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index f8aeddff1cd2..d9df16fad3b9 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -50,16 +50,14 @@ def _get_testable_interactive_backends(): reason = "macosx backend fails on Azure" elif 'qt5' in backend and not have_qt5: reason = "no usable Qt5 bindings" + marks = [] if reason: - backend = pytest.param( - backend, - marks=pytest.mark.skip( - reason=f"Skipping {backend} because {reason}")) + marks.append(pytest.mark.skip( + reason=f"Skipping {backend} because {reason}")) elif backend.startswith('wx') and sys.platform == 'darwin': # ignore on OSX because that's currently broken (github #16849) - backend = pytest.param( - backend, - marks=pytest.mark.xfail(reason='github #16849')) + marks.append(pytest.mark.xfail(reason='github #16849')) + backend = pytest.param(backend, marks=marks) backends.append(backend) return backends @@ -216,16 +214,19 @@ def _test_thread_impl(): _thread_safe_backends = _get_testable_interactive_backends() # Known unsafe backends. Remove the xfails if they start to pass! -if "wx" in _thread_safe_backends: - _thread_safe_backends.remove("wx") - _thread_safe_backends.append( - pytest.param("wx", marks=pytest.mark.xfail( - raises=subprocess.CalledProcessError))) -if "macosx" in _thread_safe_backends: - _thread_safe_backends.remove("macosx") - _thread_safe_backends.append( - pytest.param("macosx", marks=pytest.mark.xfail( - raises=subprocess.TimeoutExpired, strict=True))) +for param in _thread_safe_backends: + backend = param.values[0] + if "cairo" in backend: + # Cairo backends save a cairo_t on the graphics context, and sharing + # these is not threadsafe. + param.marks.append( + pytest.mark.xfail(raises=subprocess.CalledProcessError)) + elif backend == "wx": + param.marks.append( + pytest.mark.xfail(raises=subprocess.CalledProcessError)) + elif backend == "macosx": + param.marks.append( + pytest.mark.xfail(raises=subprocess.TimeoutExpired, strict=True)) @pytest.mark.parametrize("backend", _thread_safe_backends) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy