[gtk/better-test-isolation-2] css tests: Ignore ".csd" vs ".solid-csd"



commit e41e8072b1d337393fdf6bcc851db36b59a0073c
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Feb 5 23:35:39 2020 -0500

    css tests: Ignore ".csd" vs ".solid-csd"
    
    It it hard to control which of the csd style classes we get,
    since it depends on details of the X server or compositor.
    
    Explicitly ignore this difference by replacing .solid-csd
    with .csd in the output.

 testsuite/css/style/test-css-style.c | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)
---
diff --git a/testsuite/css/style/test-css-style.c b/testsuite/css/style/test-css-style.c
index 47e80ceacd..6e6a59466e 100644
--- a/testsuite/css/style/test-css-style.c
+++ b/testsuite/css/style/test-css-style.c
@@ -95,15 +95,35 @@ diff_with_file (const char  *file1,
   return output;
 }
 
+static char *
+fixup_style_differences (const char *str)
+{
+  GRegex *regex;
+  char *result;
+
+  /* normalize differences that creep in from hard-to-control environmental influences */
+  regex = g_regex_new ("[.]solid-csd", 0, 0, NULL);
+  result = g_regex_replace_literal (regex, str, -1, 0, ".csd", 0, NULL);
+  g_regex_unref (regex);
+
+  return result;
+}
+
 static void
 style_context_changed (GtkWidget *window, const char **output)
 {
   GtkStyleContext *context;
+  char *str;
 
   context = gtk_widget_get_style_context (window);
 
-  *output = gtk_style_context_to_string (context, GTK_STYLE_CONTEXT_PRINT_RECURSE |
-                                                  GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE);
+  str = gtk_style_context_to_string (context, GTK_STYLE_CONTEXT_PRINT_RECURSE |
+                                              GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE);
+
+  *output = fixup_style_differences (str);
+
+  g_free (str);
+
   g_main_context_wakeup (NULL);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]