kick/tests
Andrew Hamilton 0babe8832e fix: survive Xwayland SIGKILL without aborting (detach X surface listeners)
Killing the embedded Xwayland server aborted the compositor:
surface_handle_resource_destroy assert (non-empty map listener list)
via wl_client_destroy in the main loop's flush_clients.

Mechanism: the dead server's Wayland client connection is purged before
wlroots' xwm cascade dissociates anything, so wlr_surfaces die with our
map/unmap/commit listeners still attached.

Fix: watch the Xwayland Wayland client (its destroy signal fires before
its resources are purged) and proactively detach surface listeners only
-- across claimed windows, override-redirect windows and unclaimed
pendings -- leaving xsurface-level listeners for the later tab teardown.
Idempotent; later dissociate/xsurface-destroy find clean flags.  The
restart test now also waits for the X11 window's map before killing, so
the crash path (listeners attached at death) is deterministically
exercised instead of raced.

Also re-mark output_mgmt_apply flaky (1 post-fix assertion under -n15;
budgets help but the modeset roundtrip stays load-sensitive).

Evidence: restart test 12/12 at the -n15 repro config (was ~2/9
crashing), detach handler firing on every server death, -n15 gate
clean, serial gate clean (148), flaky set green (11).
2026-09-09 12:23:56 +10:00
..
test_fuzz.py fuzz tests: exercise --panel with waybar (launch, cycle, teardown) 2026-09-01 21:29:02 +10:00
test_smoke.py fix: survive Xwayland SIGKILL without aborting (detach X surface listeners) 2026-09-09 12:23:56 +10:00
wltest.c tests: drive kick sockets over ext-data-control instead of wl-clipboard 2026-09-08 11:19:22 +10:00
xclass.c x11: guard set_class NULL app_id/title for taskbar handles 2026-09-04 08:39:37 +10:00
xleader.c fix X11 app startup: no forced toolkit backends; X11 windows join tabs at first map 2026-08-24 10:43:41 +10:00
xormenu.c tests: cover X11 requests, OR move, Xwayland restart, idle release; fix inhibitor destroy 2026-09-05 10:24:49 +10:00
xpopup.c fix X11 menus and popups: replay late association, respect transient geometry 2026-08-24 12:09:40 +10:00
xreqs.c tests: cover X11 requests, OR move, Xwayland restart, idle release; fix inhibitor destroy 2026-09-05 10:24:49 +10:00