From: Alexander Larsson Date: Mon, 3 Feb 2020 14:11:35 +0000 (+0100) Subject: Don't use xsettings or xft defaults in testsuite X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~89^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a3be0ec5f0af5e78540dfecfc95cdedc31b91b56;p=gtk4.git Don't use xsettings or xft defaults in testsuite This adds a GDK_DEBUG=default-settings flag which disables reads from xsettings and Xft resources, and enables this for the testsuite. This is one less way to get different testresults depending on the environment. In particular, it was failing the css tests for me due to getting the wrong font size because i have a different dpi. --- diff --git a/gdk/gdk.c b/gdk/gdk.c index ae456dc3e2..375f711e79 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -148,7 +148,8 @@ static const GDebugKey gdk_debug_keys[] = { { "gl-gles", GDK_DEBUG_GL_GLES }, { "gl-debug", GDK_DEBUG_GL_DEBUG }, { "vulkan-disable", GDK_DEBUG_VULKAN_DISABLE }, - { "vulkan-validate", GDK_DEBUG_VULKAN_VALIDATE } + { "vulkan-validate", GDK_DEBUG_VULKAN_VALIDATE }, + { "default-settings",GDK_DEBUG_DEFAULT_SETTINGS }, }; #endif diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 12abe1186d..579f0a755a 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -63,7 +63,8 @@ typedef enum { GDK_DEBUG_GL_GLES = 1 << 16, GDK_DEBUG_GL_DEBUG = 1 << 17, GDK_DEBUG_VULKAN_DISABLE = 1 << 18, - GDK_DEBUG_VULKAN_VALIDATE = 1 << 19 + GDK_DEBUG_VULKAN_VALIDATE = 1 << 19, + GDK_DEBUG_DEFAULT_SETTINGS= 1 << 20 } GdkDebugFlags; extern guint _gdk_debug_flags; diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c index cb6c8be2ae..68b5f7d138 100644 --- a/gdk/x11/gdkxftdefaults.c +++ b/gdk/x11/gdkxftdefaults.c @@ -81,13 +81,17 @@ parse_boolean (char *v) } static gboolean -get_boolean_default (Display *dpy, +get_boolean_default (GdkX11Screen *x11_screen, const gchar *option, gboolean *value) { + Display *dpy = GDK_SCREEN_XDISPLAY (x11_screen); gchar *v; gint i; - + + if (GDK_DISPLAY_DEBUG_CHECK (GDK_SCREEN_DISPLAY (x11_screen), DEFAULT_SETTINGS)) + return FALSE; + v = XGetDefault (dpy, "Xft", option); if (v) { @@ -103,12 +107,16 @@ get_boolean_default (Display *dpy, } static gboolean -get_double_default (Display *dpy, +get_double_default (GdkX11Screen *x11_screen, const gchar *option, gdouble *value) { + Display *dpy = GDK_SCREEN_XDISPLAY (x11_screen); gchar *v, *e; - + + if (GDK_DISPLAY_DEBUG_CHECK (GDK_SCREEN_DISPLAY (x11_screen), DEFAULT_SETTINGS)) + return FALSE; + v = XGetDefault (dpy, "Xft", option); if (v) { @@ -126,12 +134,16 @@ get_double_default (Display *dpy, } static gboolean -get_integer_default (Display *dpy, +get_integer_default (GdkX11Screen *x11_screen, const gchar *option, gint *value) { + Display *dpy = GDK_SCREEN_XDISPLAY (x11_screen); gchar *v, *e; - + + if (GDK_DISPLAY_DEBUG_CHECK (GDK_SCREEN_DISPLAY (x11_screen), DEFAULT_SETTINGS)) + return FALSE; + v = XGetDefault (dpy, "Xft", option); if (v) { @@ -149,7 +161,6 @@ get_integer_default (Display *dpy, static void init_xft_settings (GdkX11Screen *x11_screen) { - Display *xdisplay = GDK_SCREEN_XDISPLAY (x11_screen); double dpi_double; gboolean b; @@ -158,21 +169,21 @@ init_xft_settings (GdkX11Screen *x11_screen) x11_screen->xft_init = TRUE; - if (!get_boolean_default (xdisplay, "antialias", &b)) + if (!get_boolean_default (x11_screen, "antialias", &b)) b = TRUE; x11_screen->xft_antialias = b; - if (!get_boolean_default (xdisplay, "hinting", &b)) + if (!get_boolean_default (x11_screen, "hinting", &b)) b = TRUE; x11_screen->xft_hinting = b; - if (!get_integer_default (xdisplay, "hintstyle", &x11_screen->xft_hintstyle)) + if (!get_integer_default (x11_screen, "hintstyle", &x11_screen->xft_hintstyle)) x11_screen->xft_hintstyle = FC_HINT_MEDIUM; - if (!get_integer_default (xdisplay, "rgba", &x11_screen->xft_rgba)) + if (!get_integer_default (x11_screen, "rgba", &x11_screen->xft_rgba)) x11_screen->xft_rgba = FC_RGBA_UNKNOWN; - if (!get_double_default (xdisplay, "dpi", &dpi_double)) + if (!get_double_default (x11_screen, "dpi", &dpi_double)) dpi_double = 96.0; x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double); diff --git a/gdk/x11/xsettings-client.c b/gdk/x11/xsettings-client.c index 8c309c9227..d43d06a0e5 100644 --- a/gdk/x11/xsettings-client.c +++ b/gdk/x11/xsettings-client.c @@ -489,7 +489,8 @@ check_manager_window (GdkX11Screen *x11_screen, gdk_x11_display_grab (display); - x11_screen->xsettings_manager_window = XGetSelectionOwner (xdisplay, get_selection_atom (x11_screen)); + if (!GDK_DISPLAY_DEBUG_CHECK (display, DEFAULT_SETTINGS)) + x11_screen->xsettings_manager_window = XGetSelectionOwner (xdisplay, get_selection_atom (x11_screen)); if (x11_screen->xsettings_manager_window != 0) XSelectInput (xdisplay, diff --git a/testsuite/a11y/meson.build b/testsuite/a11y/meson.build index 01fab478fd..6df0b25b2f 100644 --- a/testsuite/a11y/meson.build +++ b/testsuite/a11y/meson.build @@ -56,6 +56,7 @@ foreach t: a11y_state_tests env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/css/change/meson.build b/testsuite/css/change/meson.build index 59a2562710..3637a244a8 100644 --- a/testsuite/css/change/meson.build +++ b/testsuite/css/change/meson.build @@ -12,6 +12,7 @@ test('change', test_change, args: [ '--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/css/meson.build b/testsuite/css/meson.build index 00f54efb2c..237f4732d2 100644 --- a/testsuite/css/meson.build +++ b/testsuite/css/meson.build @@ -14,6 +14,7 @@ test('api', test_api, args: ['--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), @@ -30,6 +31,7 @@ test('data', test_data, args: ['--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/css/nodes/meson.build b/testsuite/css/nodes/meson.build index 984cca6047..42e7b215dc 100644 --- a/testsuite/css/nodes/meson.build +++ b/testsuite/css/nodes/meson.build @@ -9,6 +9,7 @@ test('nodes', test_nodes, args: [ '--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/css/parser/meson.build b/testsuite/css/parser/meson.build index 607faab0bb..1c83d3863d 100644 --- a/testsuite/css/parser/meson.build +++ b/testsuite/css/parser/meson.build @@ -464,6 +464,7 @@ foreach testname : test_data ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/css/style/meson.build b/testsuite/css/style/meson.build index 3198b85c05..4f4921e946 100644 --- a/testsuite/css/style/meson.build +++ b/testsuite/css/style/meson.build @@ -19,6 +19,7 @@ test('style', test_style, args: [ '--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/gdk/meson.build b/testsuite/gdk/meson.build index d7049af572..36d424ebe1 100644 --- a/testsuite/gdk/meson.build +++ b/testsuite/gdk/meson.build @@ -22,6 +22,7 @@ foreach t : tests args: [ '--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build index bee40fd32e..f303dd5f79 100644 --- a/testsuite/gsk/meson.build +++ b/testsuite/gsk/meson.build @@ -91,6 +91,7 @@ foreach renderer : renderers join_paths(meson.current_source_dir(), 'compare', test + '.png')], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), @@ -171,6 +172,7 @@ foreach test : node_parser_tests ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), @@ -204,6 +206,7 @@ foreach t : tests args: [ '--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'GSK_RENDERER=cairo', diff --git a/testsuite/gtk/meson.build b/testsuite/gtk/meson.build index e721ceaf49..7a029d4f11 100644 --- a/testsuite/gtk/meson.build +++ b/testsuite/gtk/meson.build @@ -95,6 +95,7 @@ foreach t : tests args: [ '--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'GSK_RENDERER=cairo', @@ -117,6 +118,7 @@ if add_languages('cpp', required: false) args: [ '--tap', '-k' ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), @@ -159,6 +161,7 @@ foreach test : focus_chain_tests join_paths(meson.current_source_dir(), 'focus-chain', test[0] + '.' + test[1]) ], env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build index 9a9845ee1c..71080d6f32 100644 --- a/testsuite/reftests/meson.build +++ b/testsuite/reftests/meson.build @@ -445,6 +445,7 @@ foreach testname : testdata 'GSETTINGS_BACKEND=memory', 'GSETTINGS_SCHEMA_DIR=@0@'.format(gtk_schema_build_dir), 'GTK_CSD=1', + 'GDK_DEBUG=default-settings', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()), diff --git a/testsuite/tools/meson.build b/testsuite/tools/meson.build index 4e6a605056..1364a98679 100644 --- a/testsuite/tools/meson.build +++ b/testsuite/tools/meson.build @@ -21,6 +21,7 @@ if bash.found() workdir: meson.current_build_dir(), env: [ 'GIO_USE_VOLUME_MONITOR=unix', 'GSETTINGS_BACKEND=memory', + 'GDK_DEBUG=default-settings', 'GTK_CSD=1', 'G_ENABLE_DIAGNOSTIC=0', 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),