]> Savannah Git Hosting - gnulib.git/commitdiff
duplocale: Avoid test failure on AIX 7.
authorBruno Haible <bruno@clisp.org>
Tue, 18 Dec 2018 08:59:41 +0000 (09:59 +0100)
committerBruno Haible <bruno@clisp.org>
Tue, 18 Dec 2018 08:59:41 +0000 (09:59 +0100)
* modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
(configure.ac): Invoke gt_FUNC_USELOCALE.
* tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
works.

ChangeLog
modules/duplocale-tests
tests/test-duplocale.c

index b99207b44672e982f4f0d5dff9f5ed2481539374..f55c615b0e3293f1378c5e46fe8283dc0db3e60b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-12-18  Bruno Haible  <bruno@clisp.org>
+
+       duplocale: Avoid test failure on AIX 7.
+       * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
+       (configure.ac): Invoke gt_FUNC_USELOCALE.
+       * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
+       HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
+       works.
+
 2018-12-18  Bruno Haible  <bruno@clisp.org>
 
        localename: Fix test failure on AIX 7.
index baa9a6310255d72f885d33aa487d1a3760de176e..29b2a1a02da5d9003f9084712846151ecede8d9b 100644 (file)
@@ -2,13 +2,15 @@ Files:
 tests/test-duplocale.c
 tests/signature.h
 tests/macros.h
+m4/intl-thread-locale.m4
 
 Depends-on:
 langinfo
 
 configure.ac:
-AC_CHECK_FUNCS_ONCE([duplocale uselocale strfmon_l snprintf_l nl_langinfo_l])
+AC_CHECK_FUNCS_ONCE([duplocale strfmon_l snprintf_l nl_langinfo_l])
 AC_CHECK_HEADERS_ONCE([monetary.h])
+gt_FUNC_USELOCALE
 
 Makefile.am:
 TESTS += test-duplocale
index 1cf1089c7b7d218bbedf16c5fb48576c9c2a78e0..20977160fd7f558a49538122276922ff54d3ba87 100644 (file)
@@ -59,7 +59,7 @@ get_locale_dependent_values (struct locale_dependent_values *result)
   /* result->time is usually "janvier" */
 }
 
-#if HAVE_USELOCALE
+#if HAVE_WORKING_USELOCALE
 
 static int
 test_with_uselocale (void)
@@ -135,7 +135,7 @@ test_with_uselocale (void)
 
 #endif
 
-#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || HAVE_NL_LANGINFO_L
+#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || (HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE)
 
 static void
 get_locale_dependent_values_from (struct locale_dependent_values *result, locale_t locale)
@@ -150,7 +150,7 @@ get_locale_dependent_values_from (struct locale_dependent_values *result, locale
               "%g", 3.5);
   /* result->numeric is usually "3,5" */
 #endif
-#if HAVE_NL_LANGINFO_L
+#if HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE
   strcpy (result->time, nl_langinfo_l (MON_1, locale));
   /* result->time is usually "janvier" */
 #endif
@@ -201,7 +201,7 @@ test_with_locale_parameter (void)
 #if HAVE_SNPRINTF_L
     ASSERT (strcmp (results.numeric, expected_results.numeric) == 0);
 #endif
-#if HAVE_NL_LANGINFO_L
+#if HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE
     ASSERT (strcmp (results.time, expected_results.time) == 0);
 #endif
   }
@@ -217,10 +217,10 @@ int
 main ()
 {
   int skipped = 0;
-#if HAVE_USELOCALE
+#if HAVE_WORKING_USELOCALE
   skipped |= test_with_uselocale ();
 #endif
-#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || HAVE_NL_LANGINFO_L
+#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || (HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE)
   skipped |= test_with_locale_parameter ();
 #endif