[pango/for-master: 1/3] Skip layout tests if the en_US locale is not available
- From: Emmanuele Bassi <ebassi src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [pango/for-master: 1/3] Skip layout tests if the en_US locale is not available
 
- Date: Mon,  8 Jun 2020 16:20:00 +0000 (UTC)
 
commit fb8664764b6d2432a8f91f309439b00a60f07106
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 | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/tests/test-layout.c b/tests/test-layout.c
index 2fc78240..9661457b 100644
--- a/tests/test-layout.c
+++ b/tests/test-layout.c
@@ -304,6 +304,16 @@ 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)
+    {
+      char *msg = g_strdup_printf ("Locale en_US.UTF-8 not available, skipping layout %s", filename);
+      g_test_skip (msg);
+      g_free (msg);
+      return;
+    }
+
   expected_file = get_expected_filename (filename);
 
   dump = g_string_sized_new (0);
@@ -323,6 +333,8 @@ test_layout (gconstpointer d)
 
   g_string_free (dump, TRUE);
   g_free (expected_file);
+
+  setlocale (LC_ALL, old_locale);
 }
 
 int
@@ -333,9 +345,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]