File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212import pytest
1313
1414import matplotlib as mpl
15+ from matplotlib import _c_internal_utils
1516
1617
1718# Minimal smoke-testing of the backends for which the dependencies are
@@ -40,8 +41,9 @@ def _get_testable_interactive_backends():
4041 ]:
4142 reason = None
4243 missing = [dep for dep in deps if not importlib .util .find_spec (dep )]
43- if sys .platform == "linux" and not os .environ .get ("DISPLAY" ):
44- reason = "$DISPLAY is unset"
44+ if (sys .platform == "linux" and
45+ not _c_internal_utils .display_is_valid ()):
46+ reason = "$DISPLAY and $WAYLAND_DISPLAY are unset"
4547 elif missing :
4648 reason = "{} cannot be imported" .format (", " .join (missing ))
4749 elif backend == 'macosx' and os .environ .get ('TF_BUILD' ):
@@ -276,7 +278,8 @@ def test_lazy_linux_headless():
276278import sys
277279
278280# make it look headless
279- del os.environ['DISPLAY']
281+ os.environ.pop('DISPLAY', None)
282+ os.environ.pop('WAYLAND_DISPLAY', None)
280283
281284# we should fast-track to Agg
282285import matplotlib.pyplot as plt
Original file line number Diff line number Diff line change 1010import pytest
1111
1212import matplotlib as mpl
13- from matplotlib import _api
13+ from matplotlib import _api , _c_internal_utils
1414import matplotlib .pyplot as plt
1515import matplotlib .colors as mcolors
1616import numpy as np
@@ -476,7 +476,8 @@ def test_rcparams_reset_after_fail():
476476@pytest .mark .skipif (sys .platform != "linux" , reason = "Linux only" )
477477def test_backend_fallback_headless (tmpdir ):
478478 env = {** os .environ ,
479- "DISPLAY" : "" , "MPLBACKEND" : "" , "MPLCONFIGDIR" : str (tmpdir )}
479+ "DISPLAY" : "" , "WAYLAND_DISPLAY" : "" ,
480+ "MPLBACKEND" : "" , "MPLCONFIGDIR" : str (tmpdir )}
480481 with pytest .raises (subprocess .CalledProcessError ):
481482 subprocess .run (
482483 [sys .executable , "-c" ,
@@ -487,8 +488,9 @@ def test_backend_fallback_headless(tmpdir):
487488 env = env , check = True )
488489
489490
490- @pytest .mark .skipif (sys .platform == "linux" and not os .environ .get ("DISPLAY" ),
491- reason = "headless" )
491+ @pytest .mark .skipif (
492+ sys .platform == "linux" and not _c_internal_utils .display_is_valid (),
493+ reason = "headless" )
492494def test_backend_fallback_headful (tmpdir ):
493495 pytest .importorskip ("tkinter" )
494496 env = {** os .environ , "MPLBACKEND" : "" , "MPLCONFIGDIR" : str (tmpdir )}
You can’t perform that action at this time.
0 commit comments