gtk4-layer-shell icon indicating copy to clipboard operation
gtk4-layer-shell copied to clipboard

[bug] Integration tests started failing

Open werdahias opened this issue 1 year ago • 4 comments

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1077416 for the full log. All integration tests started failing; they passed before. I will look into this but would appreciate some pointers

werdahias avatar Jul 31 '24 20:07 werdahias

libwayland changed its logging format: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/319 https://github.com/wmww/gtk4-layer-shell/blob/a689a399d37d174f2e93442e3adc931a9d8dee90/test/run-integration-test.py#L227 E.g. something like and ('@' in line or '#' in line) should fix it and support earlier and newer versions of libwayland.

Consolatis avatar Jul 31 '24 23:07 Consolatis

thanks, this fixed all tests except one:


test:         integration-test-menu-popup
start time:   14:22:06
duration:     1.23s
result:       exit status 1
command:      MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=231 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 GTK4_LAYER_SHELL_BUILD=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu MESON_TEST_ITERATION=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /usr/bin/python3 /<<PKGBUILDDIR>>/test/run-integration-test.py /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/test/test-menu-popup
----------------------------------- stdout -----------------------------------
╭─────────────────┤ test-menu-popup stderr ├─────────────────┈
│ EXPECT: wl_display .get_registry
│ [4017835.368] {Default Queue}  -> wl_display#1.get_registry(new id wl_registry#2)
│ [4017835.376] {Default Queue}  -> wl_display#1.sync(new id wl_callback#3)
│ [4017835.545] {Display Queue} wl_display#1.delete_id(3)
│ [4017835.564] {Default Queue} wl_registry#2.global(1, "wl_seat", 6)
│ [4017835.569] {Default Queue} wl_registry#2.global(2, "wl_output", 2)
│ [4017835.573] {Default Queue}  -> wl_registry#2.bind(2, "wl_output", 2, new id [unknown]#4)
│ [4017835.606] {Default Queue}  -> wl_display#1.sync(new id wl_callback#5)
│ [4017835.609] {Default Queue} wl_registry#2.global(3, "wl_shm", 1)
│ [4017835.611] {Default Queue}  -> wl_registry#2.bind(3, "wl_shm", 1, new id [unknown]#6)
│ [4017835.614] {Default Queue} wl_registry#2.global(4, "wl_data_device_manager", 2)
│ [4017835.616] {Default Queue}  -> wl_registry#2.bind(4, "wl_data_device_manager", 2, new id [unknown]#7)
│ [4017835.618] {Default Queue} wl_registry#2.global(5, "wl_compositor", 4)
│ [4017835.620] {Default Queue}  -> wl_registry#2.bind(5, "wl_compositor", 4, new id [unknown]#8)
│ [4017835.622] {Default Queue} wl_registry#2.global(6, "wl_subcompositor", 1)
│ [4017835.624] {Default Queue}  -> wl_registry#2.bind(6, "wl_subcompositor", 1, new id [unknown]#9)
│ [4017835.627] {Default Queue} wl_registry#2.global(7, "xdg_wm_base", 2)
│ [4017835.628] {Default Queue} wl_registry#2.global(8, "zwlr_layer_shell_v1", 4)
│ [4017835.631] {Default Queue} wl_callback#3.done(0)
│ [4017835.676] {Default Queue}  -> wl_shm#6.create_pool(new id wl_shm_pool#3, fd 7, 4096)
│ [4017835.680] {Default Queue}  -> wl_registry#2.bind(1, "wl_seat", 6, new id [unknown]#10)
│ [4017838.025] {Default Queue}  -> wl_data_device_manager#7.get_data_device(new id wl_data_device#11, wl_seat#10)
│ [4017838.056] {Default Queue}  -> wl_compositor#8.create_surface(new id wl_surface#12)
│ [4017838.061] {Default Queue}  -> wl_display#1.sync(new id wl_callback#13)
│ [4017838.225] {Display Queue} wl_display#1.delete_id(5)
│ [4017838.230] {Display Queue} wl_display#1.delete_id(13)
│ [4017838.232] {Default Queue} wl_output#4.done()
│ [4017838.243] {Default Queue} wl_callback#5.done(0)
│ [4017838.248] {Default Queue} wl_seat#10.capabilities(3)
│ [4017838.251] {Default Queue}  -> wl_seat#10.get_pointer(new id wl_pointer#5)
│ [4017838.258] {Default Queue}  -> wl_seat#10.get_keyboard(new id wl_keyboard#14)
│ [4017838.262] {Default Queue} wl_callback#13.done(0)
│ [4017838.265] {Default Queue}  -> wl_registry#2.bind(7, "xdg_wm_base", 2, new id [unknown]#13)
│ CHECK EXPECTATIONS COMPLETED
│ EXPECT: zwlr_layer_shell_v1 .get_layer_surface
│ 
│ (process:947): Gtk-WARNING **: 14:22:06.747: Unable to acquire session bus: Failed to execute child process “dbus-launch” (No such file or directory)
│ [4017854.102] {Default Queue}  -> wl_display#1.get_registry(new id wl_registry#15)
│ [4017854.116] {Default Queue}  -> wl_display#1.sync(new id wl_callback#16)
│ [4017854.276] {Display Queue} wl_display#1.delete_id(16)
│ [4017854.285] {Default Queue} wl_registry#15.global(1, "wl_seat", 6)
│ [4017854.288] {Default Queue} wl_registry#15.global(2, "wl_output", 2)
│ [4017854.290] {Default Queue} wl_registry#15.global(3, "wl_shm", 1)
│ [4017854.293] {Default Queue} wl_registry#15.global(4, "wl_data_device_manager", 2)
│ [4017854.294] {Default Queue} wl_registry#15.global(5, "wl_compositor", 4)
│ [4017854.296] {Default Queue} wl_registry#15.global(6, "wl_subcompositor", 1)
│ [4017854.299] {Default Queue} wl_registry#15.global(7, "xdg_wm_base", 2)
│ [4017854.301] {Default Queue} wl_registry#15.global(8, "zwlr_layer_shell_v1", 4)
│ [4017854.303] {Default Queue}  -> wl_registry#15.bind(8, "zwlr_layer_shell_v1", 4, new id [unknown]#17)
│ [4017854.307] {Default Queue} wl_callback#16.done(0)
│ [4017854.488] {Default Queue}  -> wl_compositor#8.create_surface(new id wl_surface#16)
│ [4017855.671]  -> wl_display#1.get_registry(new id wl_registry#18)
│ [4017855.682]  -> wl_display#1.sync(new id wl_callback#19)
│ [4017855.779] {Display Queue} wl_display#1.delete_id(19)
│ [4017855.795] wl_registry#18.global(1, "wl_seat", 6)
│ [4017855.798] wl_registry#18.global(2, "wl_output", 2)
│ [4017855.800] wl_registry#18.global(3, "wl_shm", 1)
│ [4017855.801] wl_registry#18.global(4, "wl_data_device_manager", 2)
│ [4017855.803] wl_registry#18.global(5, "wl_compositor", 4)
│ [4017855.805] wl_registry#18.global(6, "wl_subcompositor", 1)
│ [4017855.806] wl_registry#18.global(7, "xdg_wm_base", 2)
│ [4017855.808] wl_registry#18.global(8, "zwlr_layer_shell_v1", 4)
│ [4017855.809] wl_callback#19.done(0)
│ [4017855.812]  -> wl_display#1.sync(new id wl_callback#19)
│ [4017855.867] {Display Queue} wl_display#1.delete_id(19)
│ [4017855.870] wl_callback#19.done(0)
│ [4017855.881]  -> wl_display#1.get_registry(new id wl_registry#19)
│ [4017855.885]  -> wl_display#1.sync(new id wl_callback#20)
│ [4017855.989] {Display Queue} wl_display#1.delete_id(20)
│ [4017855.998] wl_registry#19.global(1, "wl_seat", 6)
│ [4017856.001] wl_registry#19.global(2, "wl_output", 2)
│ [4017856.004] wl_registry#19.global(3, "wl_shm", 1)
│ [4017856.007]  -> wl_registry#19.bind(3, "wl_shm", 1, new id [unknown]#21)
│ [4017856.010] wl_registry#19.global(4, "wl_data_device_manager", 2)
│ [4017856.013] wl_registry#19.global(5, "wl_compositor", 4)
│ [4017856.015] wl_registry#19.global(6, "wl_subcompositor", 1)
│ [4017856.017] wl_registry#19.global(7, "xdg_wm_base", 2)
│ [4017856.019] wl_registry#19.global(8, "zwlr_layer_shell_v1", 4)
│ [4017856.021] wl_callback#20.done(0)
│ [4017856.024]  -> wl_display#1.sync(new id wl_callback#20)
│ [4017856.072] {Display Queue} wl_display#1.delete_id(20)
│ [4017856.080] wl_callback#20.done(0)
│ [4017856.089]  -> wl_display#1.get_registry(new id wl_registry#20)
│ [4017856.095]  -> wl_display#1.sync(new id wl_callback#22)
│ [4017856.145] {Display Queue} wl_display#1.delete_id(22)
│ [4017856.149] wl_registry#20.global(1, "wl_seat", 6)
│ [4017856.153] wl_registry#20.global(2, "wl_output", 2)
│ [4017856.157] wl_registry#20.global(3, "wl_shm", 1)
│ [4017856.161]  -> wl_registry#20.bind(3, "wl_shm", 1, new id [unknown]#23)
│ [4017856.165] wl_registry#20.global(4, "wl_data_device_manager", 2)
│ [4017856.168] wl_registry#20.global(5, "wl_compositor", 4)
│ [4017856.171] wl_registry#20.global(6, "wl_subcompositor", 1)
│ [4017856.173] wl_registry#20.global(7, "xdg_wm_base", 2)
│ [4017856.177] wl_registry#20.global(8, "zwlr_layer_shell_v1", 4)
│ [4017856.179] wl_callback#22.done(0)
│ [4017856.183]  -> wl_display#1.sync(new id wl_callback#22)
│ [4017856.209] {Display Queue} wl_display#1.delete_id(22)
│ [4017856.213] wl_callback#22.done(0)
│ Gsk-Message: 14:22:06.753: Failed to realize renderer of type 'GskNglRenderer' for surface 'GdkWaylandToplevel': Could not initialize EGL display
│ 
│ Gsk-Message: 14:22:06.753: Failed to realize renderer of type 'GskGLRenderer' for surface 'GdkWaylandToplevel': Could not initialize EGL display
│ 
│ Gsk-Message: 14:22:06.754: Failed to realize renderer of type 'GskVulkanRenderer' for surface 'GdkWaylandToplevel': Could not create a Vulkan instance: The requested version of Vulkan is not supported by the driver or is otherwise incompatible for implementation-specific reasons. (VK_ERROR_INCOMPATIBLE_DRIVER)

Any idea who the culprit might be here ?

werdahias avatar Aug 01 '24 14:08 werdahias

No, not sure. It binds the layershell global but I don't see any follow-up requests on object id 17.

│ [4017854.303] {Default Queue} -> wl_registry#15.bind(8, "zwlr_layer_shell_v1", 4, new id [unknown]#17)

Consolatis avatar Aug 02 '24 02:08 Consolatis

@Consolatis thanks for your help. I will skip this test then and create a MR for the other tests

werdahias avatar Aug 03 '24 11:08 werdahias