NEW 244244
[WPE][GTK] Support for headless testing with weston
https://bugs.webkit.org/show_bug.cgi?id=244244
Summary [WPE][GTK] Support for headless testing with weston
Philippe Normand
Reported 2022-08-23 03:07:37 PDT
Currently we go through a convoluted setup of running weston in Xvfb, while we could simply use the weston headless backend. Doesn't work in GTK yet though, hitting some a11y-related critical warning: Thread 1 (Thread 0x7f548b078e80 (LWP 30)): #0 g_logv (log_domain=0x7f548dbab62b "Gdk", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1417 #1 0x00007f5496240103 in g_log (log_domain=log_domain@entry=0x7f548dbab62b "Gdk", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f5496298b70 "%s: assertion '%s' failed") at ../glib/gmessages.c:1455 #2 0x00007f549624093d in g_return_if_fail_warning (log_domain=log_domain@entry=0x7f548dbab62b "Gdk", pretty_function=pretty_function@entry=0x7f548dbc40a0 <__func__.2> "gdk_seat_get_keyboard", expression=expression@entry=0x7f548dbac7af "GDK_IS_SEAT (seat)") at ../glib/gmessages.c:2891 #3 0x00007f548db4f99a in gdk_seat_get_keyboard (seat=<optimized out>) at ../gdk/gdkseat.c:395 #4 0x00007f548db645a2 in _gdk_wayland_display_get_keymap (display=<optimized out>) at ../gdk/wayland/gdkdisplay-wayland.c:956 #5 0x00007f548dcc2e06 in gtk_accelerator_get_default_mod_mask () at ../gtk/gtkaccelgroup.c:1766 #6 0x00007f548dcdfaea in _gtk_binding_entry_add_signall (binding_set=0x1782c60, keyval=<optimized out>, modifiers=GDK_SHIFT_MASK, signal_name=0x7f548e07f940 "popup-menu", binding_args=0x0) at ../gtk/gtkbindings.c:926 #7 0x00007f548dce01fd in gtk_binding_entry_add_signal (binding_set=binding_set@entry=0x1782c60, keyval=keyval@entry=65479, modifiers=modifiers@entry=GDK_SHIFT_MASK, signal_name=signal_name@entry=0x7f548e07f940 "popup-menu", n_args=n_args@entry=0) at ../gtk/gtkbindings.c:1091 #8 0x00007f548df9a90a in gtk_widget_class_init (klass=0x1792290) at ../gtk/gtkwidget.c:3469 #9 0x00007f548c541588 in type_class_init_Wm (pclass=<optimized out>, node=<optimized out>) at ../gobject/gtype.c:2297 #10 g_type_class_ref (type=type@entry=0x17a0f20 [GtkWidget/GInitiallyUnowned]) at ../gobject/gtype.c:3012 #11 0x00007f548e032ffb in gail_focus_tracker_init () at ../gtk/a11y/gtkaccessibility.c:662 #12 gail_focus_tracker_init () at ../gtk/a11y/gtkaccessibility.c:653 #13 0x00007f549078654e in atk_add_focus_tracker (focus_tracker=focus_tracker@entry=0x7f548e032ea0 <gail_focus_tracker>) at ../atk/atkutil.c:137 #14 0x00007f548e0332e5 in _gtk_accessibility_init () at ../gtk/a11y/gtkaccessibility.c:985 #15 0x00007f548de22b2d in default_display_notify_cb (dm=<optimized out>) at ../gtk/gtkmain.c:715 #19 0x00007f548c53cd63 in <emit signal notify:default-display on instance 0x1753600 [GdkDisplayManager]> (instance=instance@entry=0x1753600, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3553 #16 0x00007f548c522fef in g_closure_invoke (closure=0x1755790, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7ffc3957e570, invocation_hint=invocation_hint@entry=0x7ffc3957e4f0) at ../gobject/gclosure.c:830 #17 0x00007f548c535f16 in signal_emit_unlocked_R (node=node@entry=0x1750880, detail=detail@entry=61, instance=instance@entry=0x1753600, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffc3957e570) at ../gobject/gsignal.c:3742 #18 0x00007f548c53cc0c in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffc3957e710) at ../gobject/gsignal.c:3497 #20 0x00007f548c527d84 in g_object_dispatch_properties_changed (object=0x1753600 [GdkDisplayManager], n_pspecs=<optimized out>, pspecs=<optimized out>) at ../gobject/gobject.c:1212 #21 0x00007f548c529dba in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x1753600 [GdkDisplayManager]) at ../gobject/gobject.c:1305 #22 g_object_notify (object=0x1753600 [GdkDisplayManager], property_name=<optimized out>) at ../gobject/gobject.c:1353 #23 0x00007f548db30dea in gdk_display_manager_set_default_display (manager=<optimized out>, display=<optimized out>) at ../gdk/gdkdisplaymanager.c:384 #24 0x00007f548db31130 in _gdk_display_manager_add_display (manager=0x1753600 [GdkDisplayManager], display=0x175c0e0 [GdkWaylandDisplay]) at ../gdk/gdkdisplaymanager.c:479 #25 0x00007f548c523229 in _g_closure_invoke_va (closure=closure@entry=0x175ae20, return_value=return_value@entry=0x0, instance=instance@entry=0x175c0e0, args=args@entry=0x7ffc3957ea78, n_params=0, param_types=0x0) at ../gobject/gclosure.c:893 #26 0x00007f548c53cb48 in g_signal_emit_valist (instance=instance@entry=0x175c0e0, signal_id=signal_id@entry=3, detail=detail@entry=0, var_args=var_args@entry=0x7ffc3957ea78) at ../gobject/gsignal.c:3406 #27 0x00007f548c53cf8e in g_signal_emit_by_name (instance=instance@entry=0x175c0e0, detailed_signal=detailed_signal@entry=0x7f548dbadd3c "opened") at ../gobject/gsignal.c:3594 #28 0x00007f548db6568c in _gdk_wayland_display_open (display_name=<optimized out>) at ../gdk/wayland/gdkdisplay-wayland.c:667 #29 0x00007f548db30fec in gdk_display_manager_open_display (manager=<optimized out>, name=0x0) at ../gdk/gdkdisplaymanager.c:462 #30 0x00007f548de23e0b in gtk_init_check (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtkmain.c:1110 #31 gtk_init_check (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtkmain.c:1102 #32 0x00007f548de23e3d in gtk_init (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtkmain.c:1167 #33 0x00000000002b6d13 in main () STDERR: (WebKitTestRunner:30): Gdk-CRITICAL **: 03:03:07.557: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed
Attachments
Philippe Normand
Comment 1 2022-08-23 03:09:50 PDT
Note You need to log in before you can comment on or make changes to this bug.