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 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) 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