+2006-12-24 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/run-collate-tests.sh:
+ * tests/unicode-collate.c: Silently skip tests if
+ we can't set LC_COLLATE to en_US. (#336438)
+
2006-12-19 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.c (g_key_file_is_key_name): Accept
fi
}
-LC_ALL=en_US
-export LC_ALL
-
error_out=/dev/null
if [ "$1" = "-v" ]; then
verbose=1
echo_v "Sorting $I"
name=`basename $I .in`
./unicode-collate $I > collate.out
+ if [ $? -eq 2 ]; then
+ exit 0
+ fi
diff collate.out ${srcdir:-.}/collate/$name.unicode ||
fail "unexpected error when using g_utf8_collate() on $I"
./unicode-collate --key $I > collate.out
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <locale.h>
typedef struct {
const char *key;
guint i;
gboolean do_key = FALSE;
gboolean do_file = FALSE;
+ gchar *locale;
+
+ /* FIXME: need to modify environment here,
+ * since g_utf8_collate_key calls setlocal (LC_COLLATE, "")
+ */
+ g_setenv ("LC_ALL", "en_US", TRUE);
+ locale = setlocale (LC_ALL, "");
+ if (locale == NULL || strcmp (locale, "en_US") != 0)
+ {
+ fprintf (stderr, "No suitable locale, skipping test\n");
+ return 2;
+ }
if (argc != 1 && argc != 2 && argc != 3)
{