[pango/for-master: 36/38] Skip layout tests if the en_US locale is not available



commit ef556aa660b9eb73a46364d548803d811cb95ab3
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Mon Jun 8 17:08:08 2020 +0100

    Skip layout tests if the en_US locale is not available
    
    There's no point in running a tests if we know the locale isn't there.
    The reason gets logged, so the developer can decide to install it.

 tests/test-layout.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/tests/test-layout.c b/tests/test-layout.c
index 2fc78240..b6b4cbd1 100644
--- a/tests/test-layout.c
+++ b/tests/test-layout.c
@@ -304,6 +304,14 @@ test_layout (gconstpointer d)
   GString *dump;
   gchar *diff;
 
+  const char *old_locale = setlocale (LC_ALL, NULL);
+  setlocale (LC_ALL, "en_US.UTF-8");
+  if (strstr (setlocale (LC_ALL, NULL), "en_US") == NULL)
+    {
+      g_test_skip ("Locale en_US.UTF-8 not available, skipping layout %s", filename);
+      return;
+    }
+
   expected_file = get_expected_filename (filename);
 
   dump = g_string_sized_new (0);
@@ -323,6 +331,8 @@ test_layout (gconstpointer d)
 
   g_string_free (dump, TRUE);
   g_free (expected_file);
+
+  setlocale (LC_ALL, old_locale);
 }
 
 int
@@ -333,9 +343,6 @@ main (int argc, char *argv[])
   const gchar *name;
   gchar *path;
 
-  g_setenv ("LC_ALL", "en_US.UTF-8", TRUE);
-  setlocale (LC_ALL, "");
-
   g_test_init (&argc, &argv, NULL);
 
   context = pango_font_map_create_context (pango_cairo_font_map_get_default ());


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