From a1b1b4f47a0e8e6452e4cd3bbcfbdff4224a7d0c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Apr 2006 05:18:57 +0000 Subject: [PATCH] More test fixes --- ChangeLog | 4 ++++ ChangeLog.pre-2-12 | 4 ++++ tests/option-test.c | 19 +++++++++++++++---- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ad75c4c..2284a5a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2006-04-05 Matthias Clasen + * tests/option-test.c (arg_test5): Skip the test if + setting the locale fails. + (empty_test1): Reset prgname before the test. + * tests/Makefile.am: Arrange for run-bookmark-test.sh to be run by make check. diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 3ad75c4c..2284a5a3 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,5 +1,9 @@ 2006-04-05 Matthias Clasen + * tests/option-test.c (arg_test5): Skip the test if + setting the locale fails. + (empty_test1): Reset prgname before the test. + * tests/Makefile.am: Arrange for run-bookmark-test.sh to be run by make check. diff --git a/tests/option-test.c b/tests/option-test.c index 0837f6b5..cd3a01ad 100644 --- a/tests/option-test.c +++ b/tests/option-test.c @@ -1,6 +1,7 @@ -#include +#include #include #include +#include int error_test1_int; char *error_test2_string; @@ -370,7 +371,8 @@ arg_test5 (void) GError *error = NULL; gchar **argv; int argc; - char *old_locale; + char *old_locale, *current_locale; + const char *locale = "de_DE"; GOptionEntry entries [] = { { "test", 0, 0, G_OPTION_ARG_DOUBLE, &arg_test5_double, NULL, NULL }, { NULL } }; @@ -382,7 +384,14 @@ arg_test5 (void) argv = split_string ("program --test 20,0 --test 30,03", &argc); /* set it to some locale that uses commas instead of decimal points */ - old_locale = g_strdup (setlocale(LC_NUMERIC, "de")); + + old_locale = g_strdup (setlocale (LC_NUMERIC, locale)); + current_locale = setlocale (LC_NUMERIC, NULL); + if (strcmp (current_locale, locale) != 0) + { + fprintf (stderr, "Cannot set locale to %s, skipping\n", locale); + goto cleanup; + } retval = g_option_context_parse (context, &argc, &argv, &error); g_assert (retval); @@ -390,7 +399,8 @@ arg_test5 (void) /* Last arg specified is the one that should be stored */ g_assert (arg_test5_double == 30.03); - setlocale(LC_NUMERIC, old_locale); + cleanup: + setlocale (LC_NUMERIC, old_locale); g_free (old_locale); g_strfreev (argv); @@ -907,6 +917,7 @@ empty_test1 (void) GOptionEntry entries [] = { { NULL } }; + g_set_prgname (NULL); context = g_option_context_new (NULL); g_option_context_add_main_entries (context, entries, NULL); -- 2.34.1