]> Savannah Git Hosting - gnulib.git/commitdiff
Avoid test failures in FreeBSD's GB18030 locale.
authorBruno Haible <bruno@clisp.org>
Thu, 18 Jan 2024 21:17:07 +0000 (22:17 +0100)
committerBruno Haible <bruno@clisp.org>
Wed, 31 Jan 2024 16:44:56 +0000 (17:44 +0100)
The FreeBSD 14.0 iconv converter (GB18030 → UTF-8) cannot convert e.g.
0x94 0x32 0xBB 0x34 to U+1D100.

* tests/test-c32isalnum.c (main): Skip the GB18030 locale tests on
FreeBSD, if GL_CHAR32_T_IS_UNICODE (or, equivalently,
GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION) is defined.
* tests/test-c32isalpha.c (main): Likewise.
* tests/test-c32isblank.c (main): Likewise.
* tests/test-c32iscntrl.c (main): Likewise.
* tests/test-c32isdigit.c (main): Likewise.
* tests/test-c32islower.c (main): Likewise.
* tests/test-c32ispunct.c (main): Likewise.
* tests/test-c32isspace.c (main): Likewise.
* tests/test-c32isupper.c (main): Likewise.
* tests/test-c32isxdigit.c (main): Likewise.
* tests/test-c32rtomb.c (main): Likewise.
* tests/test-c32snrtombs.c (main): Likewise.
* tests/test-c32srtombs.c (main): Likewise.
* tests/test-c32stombs.c (main): Likewise.
* tests/test-c32tolower.c (main): Likewise.
* tests/test-c32toupper.c (main): Likewise.
* tests/test-mbrtoc16.c (main): Likewise.
* tests/test-mbrtoc32.c (main): Likewise.
* tests/test-mbsnrtoc32s.c (main): Likewise.
* tests/test-mbsrtoc32s.c (main): Likewise.
* tests/test-mbstoc32s.c (main): Likewise.

22 files changed:
ChangeLog
tests/test-c32isalnum.c
tests/test-c32isalpha.c
tests/test-c32isblank.c
tests/test-c32iscntrl.c
tests/test-c32isdigit.c
tests/test-c32islower.c
tests/test-c32ispunct.c
tests/test-c32isspace.c
tests/test-c32isupper.c
tests/test-c32isxdigit.c
tests/test-c32rtomb.c
tests/test-c32snrtombs.c
tests/test-c32srtombs.c
tests/test-c32stombs.c
tests/test-c32tolower.c
tests/test-c32toupper.c
tests/test-mbrtoc16.c
tests/test-mbrtoc32.c
tests/test-mbsnrtoc32s.c
tests/test-mbsrtoc32s.c
tests/test-mbstoc32s.c

index bad50fc89543b624672e893faef1faa034662dfe..18b2278f596ff2cc3a5463128cdf5d4a6b292f91 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2024-01-18  Bruno Haible  <bruno@clisp.org>
+
+       Avoid test failures in FreeBSD's GB18030 locale.
+       The FreeBSD 14.0 iconv converter (GB18030 → UTF-8) cannot convert e.g.
+       0x94 0x32 0xBB 0x34 to U+1D100.
+       * tests/test-c32isalnum.c (main): Skip the GB18030 locale tests on
+       FreeBSD, if GL_CHAR32_T_IS_UNICODE (or, equivalently,
+       GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION) is defined.
+       * tests/test-c32isalpha.c (main): Likewise.
+       * tests/test-c32isblank.c (main): Likewise.
+       * tests/test-c32iscntrl.c (main): Likewise.
+       * tests/test-c32isdigit.c (main): Likewise.
+       * tests/test-c32islower.c (main): Likewise.
+       * tests/test-c32ispunct.c (main): Likewise.
+       * tests/test-c32isspace.c (main): Likewise.
+       * tests/test-c32isupper.c (main): Likewise.
+       * tests/test-c32isxdigit.c (main): Likewise.
+       * tests/test-c32rtomb.c (main): Likewise.
+       * tests/test-c32snrtombs.c (main): Likewise.
+       * tests/test-c32srtombs.c (main): Likewise.
+       * tests/test-c32stombs.c (main): Likewise.
+       * tests/test-c32tolower.c (main): Likewise.
+       * tests/test-c32toupper.c (main): Likewise.
+       * tests/test-mbrtoc16.c (main): Likewise.
+       * tests/test-mbrtoc32.c (main): Likewise.
+       * tests/test-mbsnrtoc32s.c (main): Likewise.
+       * tests/test-mbsrtoc32s.c (main): Likewise.
+       * tests/test-mbstoc32s.c (main): Likewise.
+
 2024-01-18  Bruno Haible  <bruno@clisp.org>
 
        get-rusage-data: Avoid test failure on NetBSD 9.3.
index 111641c4d34f20efdfd452032d35aa3e6db493cf..4f75e0f4aa06cadd094afdd79484528a7e0db02c 100644 (file)
@@ -212,7 +212,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index e9f668411804b41fa86fef1a09263751182ef8f5..14c78d7d236c863960dca58195b8842b564f22a2 100644 (file)
@@ -210,7 +210,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 1b69272f45ea094fa2f64618a23dee4a4f3430b9..0e722b257529215ecd7ab07f5254bfd5effad40a 100644 (file)
@@ -169,7 +169,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 4e72de6a80d7d073db6d5d5160e865f30376e44a..674c5804124f5f265274a09ed9bad18869e78f3e 100644 (file)
@@ -171,7 +171,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 30ab5d0f1adbaf701f6963de9346a388ef188b5e..82b77015f0a08775848abeadecc6aabcfcc28a3c 100644 (file)
@@ -183,7 +183,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 4e7311fe92178b80931b463594a6f6de9cd922b9..3b799677fb3ad7e3b6c621160cd7a2415e475893 100644 (file)
@@ -267,7 +267,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 5b2589cc81c7c8f76a929e3b917f133c31031f2b..1b9f8e3b3ce8e88f6d524a4592e244424a36651d 100644 (file)
@@ -265,7 +265,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index e80f1527a6f7aa0ced40c498ecab6c6e5e1775a3..15cf387dcf726f1ced7c2a354513d3a4f7a68eed 100644 (file)
@@ -165,7 +165,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 0d9b229527bfc580d20e5ca8163d0084af9dc94a..178b0d1998ad52006ca5fc4f665adaf181dbf72f 100644 (file)
@@ -259,7 +259,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index bd5dabb3bb368b3c9daf6da49e73bffd13bd8480..0c266f47052ea5bcc4dc4fc45caa90066ae347fd 100644 (file)
@@ -200,7 +200,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 73cecefc9ad1ecd19d630fb637c7639302b8cd0f..c33d08d3d41f67717c18fbe5fd009bb954a6f6d8 100644 (file)
@@ -156,7 +156,7 @@ main (int argc, char *argv[])
 
       case '5':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 5781c4d231c6b471327b00923ce7f2c3db4aee59..3057af8b3d1d1f32e210ea6ef33ebf91862af4cd 100644 (file)
@@ -160,7 +160,7 @@ main (int argc, char *argv[])
 
         case '5':
           /* Locale encoding is GB18030.  */
-          #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+          #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
           fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
           return 77;
           #endif
index 037c50ccd1c97ab50d2f94cfdc206b492dcb90f1..416c96e3fbe70b7068eb8fe042a3db7d859ec99c 100644 (file)
@@ -160,7 +160,7 @@ main (int argc, char *argv[])
 
         case '5':
           /* Locale encoding is GB18030.  */
-          #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+          #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
           fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
           return 77;
           #endif
index afdeca38620558fc61edc29ede24dd1688ab1389..b7cc13ca42c095a09f3035d713435a0b6bb0c31a 100644 (file)
@@ -139,7 +139,7 @@ main (int argc, char *argv[])
 
         case '5':
           /* Locale encoding is GB18030.  */
-          #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+          #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
           fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
           return 77;
           #endif
index e2cd18396d6f54408f72855fb4cd0707514fb37a..681191b4adcc7adebae837aa9f8a2ed0cf73e93e 100644 (file)
@@ -336,7 +336,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 9660a2e8434b8734178a2cd6893015f3ecc747ab..ef57cd76ef0cf8b6928ea89d5e649d0bc2a83939 100644 (file)
@@ -348,7 +348,7 @@ main (int argc, char *argv[])
 
       case '4':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 3f4430f14e8bf4ccda674fbdc111a540b1956b98..a356736ea986b86f001a8a7b6dc564d28fab8fd7 100644 (file)
@@ -361,7 +361,7 @@ main (int argc, char *argv[])
 
       case '5':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index c83a12547e6497f71fb0a59c89418b59c795d203..6fffb2a71c35cc400df562cb77c962ac8a82670c 100644 (file)
@@ -360,7 +360,7 @@ main (int argc, char *argv[])
 
       case '5':
         /* Locale encoding is GB18030.  */
-        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+        #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
         fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
         return 77;
         #endif
index 9e52f46b233b07ace7fac65b304e2fb99381ba4b..aa980bc4b5f4a017673319549a6cf42934e4e23b 100644 (file)
@@ -315,7 +315,7 @@ main (int argc, char *argv[])
 
             case '5':
               /* Locale encoding is GB18030.  */
-              #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+              #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
               fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
               return 77;
               #endif
index 89ed05ecca6fa2a3fd0d0e16eab8d91cd13cf930..fb6494a76dfcec75ee61900dd568a7420079ad21 100644 (file)
@@ -315,7 +315,7 @@ main (int argc, char *argv[])
 
             case '5':
               /* Locale encoding is GB18030.  */
-              #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+              #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
               fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
               return 77;
               #endif
index 40f7894da2e164acb41ef599a951ec68e838e68b..297d707d41c7eec8a8ff3755bc2df396d7a8dbdf 100644 (file)
@@ -263,7 +263,7 @@ main (int argc, char *argv[])
 
             case '5':
               /* Locale encoding is GB18030.  */
-              #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __NetBSD__ || defined __sun))
+              #if (defined __GLIBC__ && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 13 && __GLIBC_MINOR__ <= 15) || (GL_CHAR32_T_IS_UNICODE && (defined __FreeBSD__ || defined __NetBSD__ || defined __sun))
               fputs ("Skipping test: The GB18030 converter in this system's iconv is broken.\n", stderr);
               return 77;
               #endif