@@ -122,6 +122,29 @@ def test_sys_info_basic():
122122 assert "Platform Linux" in out
123123
124124
125+ def test_sys_info_windowing_system (monkeypatch ):
126+ """Test that sys_info reports the windowing system on Linux."""
127+ monkeypatch .setattr (platform , "system" , lambda : "Linux" )
128+ for var in ("XDG_SESSION_TYPE" , "WAYLAND_DISPLAY" , "DISPLAY" ):
129+ monkeypatch .delenv (var , raising = False )
130+
131+ out = ClosingStringIO ()
132+ sys_info (fid = out , check_version = False )
133+ line = out .getvalue ().splitlines ()[0 ]
134+ assert line .startswith ("Platform" )
135+ assert "(" not in line
136+
137+ monkeypatch .setenv ("XDG_SESSION_TYPE" , "wayland" )
138+ out = ClosingStringIO ()
139+ sys_info (fid = out , check_version = False )
140+ assert "(Wayland)" in out .getvalue ().splitlines ()[0 ]
141+
142+ monkeypatch .setenv ("XDG_SESSION_TYPE" , "x11" )
143+ out = ClosingStringIO ()
144+ sys_info (fid = out , check_version = False )
145+ assert "(X11)" in out .getvalue ().splitlines ()[0 ]
146+
147+
125148def test_sys_info_complete ():
126149 """Test that sys_info is sufficiently complete."""
127150 tomllib = pytest .importorskip ("tomllib" ) # python 3.11+
0 commit comments