Don't use xsettings or xft defaults in testsuite
authorAlexander Larsson <alexl@redhat.com>
Mon, 3 Feb 2020 14:11:35 +0000 (15:11 +0100)
committerAlexander Larsson <alexl@redhat.com>
Mon, 3 Feb 2020 14:11:35 +0000 (15:11 +0100)
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.

15 files changed:
gdk/gdk.c
gdk/gdkinternals.h
gdk/x11/gdkxftdefaults.c
gdk/x11/xsettings-client.c
testsuite/a11y/meson.build
testsuite/css/change/meson.build
testsuite/css/meson.build
testsuite/css/nodes/meson.build
testsuite/css/parser/meson.build
testsuite/css/style/meson.build
testsuite/gdk/meson.build
testsuite/gsk/meson.build
testsuite/gtk/meson.build
testsuite/reftests/meson.build
testsuite/tools/meson.build

index ae456dc3e21f597c37de854f9e4a0f64426885c4..375f711e797f8a439b5491a459711be80aa5ddcb 100644 (file)
--- 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
 
index 12abe1186d34ada56bceb1fefdcdf89f28ecee93..579f0a755a86b6e30502be11fcb30e0fdd746d08 100644 (file)
@@ -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;
index cb6c8be2ae03d01e92b411d5f88c080ed49a9b9e..68b5f7d138d5394e6f8dafde636b6abffa0dbe01 100644 (file)
@@ -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);
index 8c309c92271ec32352398cdb35daeddc330ac697..d43d06a0e5ca9612836daacce5e9d216dd9a3bbd 100644 (file)
@@ -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,
index 01fab478fd7355aa74f4a334a2894d6e96c743f4..6df0b25b2fc639fb3b2d7bb54eb80a1445070ec0 100644 (file)
@@ -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()),
index 59a2562710965aca2630b752ad015c7946bcbde5..3637a244a8f19759565c1013987aa529c0ef7e71 100644 (file)
@@ -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()),
index 00f54efb2cacdbd85f0577277dceca501a9ea23f..237f4732d26a9d32e23c656923ba249f14a12a30 100644 (file)
@@ -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()),
index 984cca60479eb038c9c00ede1054fa6e99b39555..42e7b215dc64341f95945febcd758bdc10d6083e 100644 (file)
@@ -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()),
index 607faab0bbff7a11ef5d8127d64e7a3115ee4343..1c83d3863da47cf15f7ddbf21ef16502edbbf64b 100644 (file)
@@ -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()),
index 3198b85c055d3bed1bb16299502994fb6b2d08ac..4f4921e9461a160a3fc5cf4a4482b8292f03dcd6 100644 (file)
@@ -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()),
index d7049af572a12bb2f72a6efe56c68b89dc4a6e3a..36d424ebe19c01ee966e93fd1a49ffec82022543 100644 (file)
@@ -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()),
index bee40fd32ed15687414f472fa9d80263c1d24188..f303dd5f791e1c8ebf85bae1c5cfb8e14a937adf 100644 (file)
@@ -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',
index e721ceaf49eb5efa0c54d06110acc998dc0671cf..7a029d4f11a74e0f2a0e01a1ed33400d308780f4 100644 (file)
@@ -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()),
index 9a9845ee1c15461c51270d4ad41fef815fc9b088..71080d6f32e9fff1aa1a8cf0309d0942442d0318 100644 (file)
@@ -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()),
index 4e6a60505611f7171d1d48bdc556e52c90e854c5..1364a986792154f32400380742d0a9ee758e3225 100644 (file)
@@ -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()),