about summary refs log tree commit diff
path: root/iconvdata/tst-tables.sh
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/tst-tables.sh')
-rwxr-xr-xiconvdata/tst-tables.sh213
1 files changed, 213 insertions, 0 deletions
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
new file mode 100755
index 0000000000..8d2735a12e
--- /dev/null
+++ b/iconvdata/tst-tables.sh
@@ -0,0 +1,213 @@
+#!/bin/sh
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+# Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with the GNU C Library; see the file COPYING.LIB.  If not,
+# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Checks that the iconv() implementation (in both directions) for the
+# stateless encodings agrees with the corresponding charmap table.
+
+common_objpfx=$1
+objpfx=$2
+
+status=0
+
+cat <<EOF |
+  # Single-byte and other "small" encodings come here.
+  # Keep this list in the same order as gconv-modules.
+  #
+  # charset name    table name          comment
+  ASCII             ANSI_X3.4-1968
+  ISO646-GB         BS_4730
+  ISO646-CA         CSA_Z243.4-1985-1
+  ISO646-CA2        CSA_Z243.4-1985-2
+  ISO646-DE         DIN_66003
+  ISO646-DK         DS_2089
+  ISO646-ES         ES
+  ISO646-ES2        ES2
+  ISO646-CN         GB_1988-80
+  ISO646-IT         IT
+  ISO646-JP         JIS_C6220-1969-RO
+  ISO646-JP-OCR-B   JIS_C6229-1984-B
+  ISO646-YU         JUS_I.B1.002
+  ISO646-KR         KSC5636
+  ISO646-HU         MSZ_7795.3
+  ISO646-CU         NC_NC00-10
+  ISO646-FR         NF_Z_62-010
+  ISO646-FR1        NF_Z_62-010_1973
+  ISO646-NO         NS_4551-1
+  ISO646-NO2        NS_4551-2
+  ISO646-PT         PT
+  ISO646-PT2        PT2
+  ISO646-SE         SEN_850200_B
+  ISO646-SE2        SEN_850200_C
+  ISO-8859-1
+  ISO-8859-2
+  ISO-8859-3
+  ISO-8859-4
+  ISO-8859-5
+  ISO-8859-6
+  ISO-8859-7
+  ISO-8859-8
+  ISO-8859-9
+  ISO-8859-10
+  #ISO-8859-11                          No corresponding table, nonstandard
+  ISO-8859-13
+  ISO-8859-14
+  ISO-8859-15
+  ISO-8859-16
+  T.61-8BIT
+  ISO_6937
+  #ISO_6937-2        ISO-IR-90          Handling of combining marks is broken
+  KOI-8
+  KOI8-R
+  LATIN-GREEK
+  LATIN-GREEK-1
+  HP-ROMAN8
+  EBCDIC-AT-DE
+  EBCDIC-AT-DE-A
+  EBCDIC-CA-FR
+  EBCDIC-DK-NO
+  EBCDIC-DK-NO-A
+  EBCDIC-ES
+  EBCDIC-ES-A
+  EBCDIC-ES-S
+  EBCDIC-FI-SE
+  EBCDIC-FI-SE-A
+  EBCDIC-FR
+  EBCDIC-IS-FRISS
+  EBCDIC-IT
+  EBCDIC-PT
+  EBCDIC-UK
+  EBCDIC-US
+  IBM037
+  IBM038
+  IBM256
+  IBM273
+  IBM274
+  IBM275
+  IBM277
+  IBM278
+  IBM280
+  IBM281
+  IBM284
+  IBM285
+  IBM290
+  IBM297
+  IBM420
+  IBM423
+  IBM424
+  IBM437
+  IBM500
+  IBM850
+  IBM851
+  IBM852
+  IBM855
+  IBM857
+  IBM860
+  IBM861
+  IBM862
+  IBM863
+  IBM864
+  IBM865
+  IBM866
+  IBM868
+  IBM869
+  IBM870
+  IBM871
+  IBM875
+  IBM880
+  IBM891
+  IBM903
+  IBM904
+  IBM905
+  IBM918
+  IBM1004
+  IBM1026
+  IBM1047
+  CP1250
+  CP1251
+  CP1252
+  CP1253
+  CP1254
+  CP1255
+  CP1256
+  CP1257
+  CP1258
+  IBM874
+  CP737
+  CP775
+  MACINTOSH
+  IEC_P27-1
+  ASMO_449
+  ISO-IR-99         ANSI_X3.110-1983
+  ISO-IR-139        CSN_369103
+  CWI
+  DEC-MCS
+  ECMA-CYRILLIC
+  ISO-IR-153        GOST_19768-74
+  GREEK-CCITT
+  GREEK7
+  GREEK7-OLD
+  INIS
+  INIS-8
+  INIS-CYRILLIC
+  ISO_2033          ISO_2033-1983
+  ISO_5427
+  ISO_5427-EXT
+  #ISO_5428                             Handling of combining marks is broken
+  ISO_10367-BOX
+  MAC-IS
+  MAC-UK
+  NATS-DANO
+  NATS-SEFI
+  WIN-SAMI-2        SAMI-WS2
+  ISO-IR-197
+  TIS-620
+  KOI8-U
+  ISIRI-3342
+  #
+  # Multibyte encodings come here
+  #
+  SJIS
+  #EUC-KR                               Charmap contains extraneous entries
+  CP949
+  #JOHAB                                No charmap exists
+  BIG5
+  #BIG5HKSCS                            Broken, please fix it
+  EUC-JP
+  EUC-CN            GB2312
+  #GBK                                  Converter uses private area characters
+  EUC-TW
+  #GB18030                              Broken, please fix it
+  #
+  # Stateful encodings not testable this way
+  #
+  #ISO-2022-JP
+  #ISO-2022-JP-2
+  #ISO-2022-KR
+  #ISO-2022-CN
+  #
+EOF
+while read charset charmap; do
+  case ${charset} in \#*) continue;; esac
+  echo "Testing ${charset}" 1>&2
+  ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap} \
+  || { echo "failed: ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}"; status=1; }
+done
+
+exit $status