[glib: 2/3] tests: Set both environment variable and locale when running tests
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 2/3] tests: Set both environment variable and locale when running tests
- Date: Mon, 11 Jun 2018 10:52:44 +0000 (UTC)
commit 6f2b3503a5eed17b7d1bd4423e86e0ed902bf946
Author: Ting-Wei Lan <lantw src gnome org>
Date: Sat May 26 01:26:43 2018 +0800
tests: Set both environment variable and locale when running tests
Non-glibc gettext implementation seems to decide the language from
LC_MESSAGES environment variable instead of LC_MESSAGES locale, so
we should set both environment variable and locale when running tests
which need translation from specific languages.
gio/tests/gapplication.c | 2 ++
gio/tests/gdbus-serialization.c | 1 +
gio/tests/gsettings.c | 8 ++++++++
3 files changed, 11 insertions(+)
---
diff --git a/gio/tests/gapplication.c b/gio/tests/gapplication.c
index 336135cb4..f5491ec9e 100644
--- a/gio/tests/gapplication.c
+++ b/gio/tests/gapplication.c
@@ -972,6 +972,8 @@ test_api (void)
int
main (int argc, char **argv)
{
+ g_setenv ("LC_ALL", "C", TRUE);
+
g_test_init (&argc, &argv, NULL);
g_test_dbus_unset ();
diff --git a/gio/tests/gdbus-serialization.c b/gio/tests/gdbus-serialization.c
index da28f1bc1..d2f0a6ce7 100644
--- a/gio/tests/gdbus-serialization.c
+++ b/gio/tests/gdbus-serialization.c
@@ -1085,6 +1085,7 @@ int
main (int argc,
char *argv[])
{
+ g_setenv ("LC_ALL", "C", TRUE);
setlocale (LC_ALL, "C");
g_test_init (&argc, &argv, NULL);
diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
index 93e819244..ba80647f1 100644
--- a/gio/tests/gsettings.c
+++ b/gio/tests/gsettings.c
@@ -741,14 +741,17 @@ test_l10n (void)
settings = g_settings_new ("org.gtk.test.localized");
+ g_setenv ("LC_MESSAGES", "C", TRUE);
setlocale (LC_MESSAGES, "C");
str = g_settings_get_string (settings, "error-message");
+ g_setenv ("LC_MESSAGES", locale, TRUE);
setlocale (LC_MESSAGES, locale);
g_assert_cmpstr (str, ==, "Unnamed");
g_free (str);
str = NULL;
+ g_setenv ("LC_MESSAGES", "de_DE.UTF-8", TRUE);
setlocale (LC_MESSAGES, "de_DE.UTF-8");
/* Only do the test if translation is actually working... */
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
@@ -762,6 +765,7 @@ test_l10n (void)
else
g_printerr ("warning: translation is not working... skipping test. ");
+ g_setenv ("LC_MESSAGES", locale, TRUE);
setlocale (LC_MESSAGES, locale);
g_free (locale);
g_object_unref (settings);
@@ -788,14 +792,17 @@ test_l10n_context (void)
settings = g_settings_new ("org.gtk.test.localized");
+ g_setenv ("LC_MESSAGES", "C", TRUE);
setlocale (LC_MESSAGES, "C");
g_settings_get (settings, "backspace", "s", &str);
+ g_setenv ("LC_MESSAGES", locale, TRUE);
setlocale (LC_MESSAGES, locale);
g_assert_cmpstr (str, ==, "BackSpace");
g_free (str);
str = NULL;
+ g_setenv ("LC_MESSAGES", "de_DE.UTF-8", TRUE);
setlocale (LC_MESSAGES, "de_DE.UTF-8");
/* Only do the test if translation is actually working... */
if (g_str_equal (dgettext ("test", "\"Unnamed\""), "\"Unbenannt\""))
@@ -809,6 +816,7 @@ test_l10n_context (void)
else
g_printerr ("warning: translation is not working... skipping test. ");
+ g_setenv ("LC_MESSAGES", locale, TRUE);
setlocale (LC_MESSAGES, locale);
g_free (locale);
g_object_unref (settings);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]