e333a5ad365d44e653a46421c9db0e78dfd6bc26
[platform/upstream/glibc.git] / iconvdata / tst-tables.sh
1 #!/bin/sh
2 # Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
3 # This file is part of the GNU C Library.
4 # Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
5 #
6
7 # The GNU C Library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License, or (at your option) any later version.
11
12 # The GNU C Library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Lesser General Public License for more details.
16
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with the GNU C Library; if not, write to the Free
19 # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20 # 02111-1307 USA.
21
22 # Checks that the iconv() implementation (in both directions) for the
23 # stateless encodings agrees with the corresponding charmap table.
24
25 common_objpfx=$1
26 objpfx=$2
27
28 status=0
29
30 cat <<EOF |
31   # Single-byte and other "small" encodings come here.
32   # Keep this list in the same order as gconv-modules.
33   #
34   # charset name    table name          comment
35   ASCII             ANSI_X3.4-1968
36   ISO646-GB         BS_4730
37   ISO646-CA         CSA_Z243.4-1985-1
38   ISO646-CA2        CSA_Z243.4-1985-2
39   ISO646-DE         DIN_66003
40   ISO646-DK         DS_2089
41   ISO646-ES         ES
42   ISO646-ES2        ES2
43   ISO646-CN         GB_1988-80
44   ISO646-IT         IT
45   ISO646-JP         JIS_C6220-1969-RO
46   ISO646-JP-OCR-B   JIS_C6229-1984-B
47   ISO646-YU         JUS_I.B1.002
48   ISO646-KR         KSC5636
49   ISO646-HU         MSZ_7795.3
50   ISO646-CU         NC_NC00-10
51   ISO646-FR         NF_Z_62-010
52   ISO646-FR1        NF_Z_62-010_1973
53   ISO646-NO         NS_4551-1
54   ISO646-NO2        NS_4551-2
55   ISO646-PT         PT
56   ISO646-PT2        PT2
57   ISO646-SE         SEN_850200_B
58   ISO646-SE2        SEN_850200_C
59   ISO-8859-1
60   ISO-8859-2
61   ISO-8859-3
62   ISO-8859-4
63   ISO-8859-5
64   ISO-8859-6
65   ISO-8859-7
66   ISO-8859-8
67   ISO-8859-9
68   ISO-8859-10
69   ISO-8859-11
70   ISO-8859-13
71   ISO-8859-14
72   ISO-8859-15
73   ISO-8859-16
74   T.61-8BIT
75   ISO_6937
76   #ISO_6937-2        ISO-IR-90          Handling of combining marks is broken
77   KOI-8
78   KOI8-R
79   LATIN-GREEK
80   LATIN-GREEK-1
81   HP-ROMAN8
82   EBCDIC-AT-DE
83   EBCDIC-AT-DE-A
84   EBCDIC-CA-FR
85   EBCDIC-DK-NO
86   EBCDIC-DK-NO-A
87   EBCDIC-ES
88   EBCDIC-ES-A
89   EBCDIC-ES-S
90   EBCDIC-FI-SE
91   EBCDIC-FI-SE-A
92   EBCDIC-FR
93   EBCDIC-IS-FRISS
94   EBCDIC-IT
95   EBCDIC-PT
96   EBCDIC-UK
97   EBCDIC-US
98   IBM037
99   IBM038
100   IBM256
101   IBM273
102   IBM274
103   IBM275
104   IBM277
105   IBM278
106   IBM280
107   IBM281
108   IBM284
109   IBM285
110   IBM290
111   IBM297
112   IBM420
113   IBM423
114   IBM424
115   IBM437
116   IBM500
117   IBM850
118   IBM851
119   IBM852
120   IBM855
121   IBM856
122   IBM857
123   IBM860
124   IBM861
125   IBM862
126   IBM863
127   IBM864
128   IBM865
129   IBM866
130   IBM868
131   IBM869
132   IBM870
133   IBM871
134   IBM875
135   IBM880
136   IBM891
137   IBM903
138   IBM904
139   IBM905
140   IBM918
141   IBM922
142   IBM1004
143   IBM1026
144   #IBM1046                              Differs from the AIX and JDK converters
145   IBM1047
146   IBM1124
147   IBM1129
148   IBM1160
149   IBM1161
150   IBM1132
151   IBM1133
152   IBM1162
153   IBM1163
154   IBM1164
155   CP1125
156   CP1250
157   CP1251
158   CP1252
159   CP1253
160   CP1254
161   CP1255
162   CP1256
163   CP1257
164   CP1258
165   IBM874
166   CP737
167   CP775
168   MACINTOSH
169   IEC_P27-1
170   ASMO_449
171   ISO-IR-99         ANSI_X3.110-1983
172   ISO-IR-139        CSN_369103
173   CWI
174   DEC-MCS
175   ECMA-CYRILLIC
176   ISO-IR-153        GOST_19768-74
177   GREEK-CCITT
178   GREEK7
179   GREEK7-OLD
180   INIS
181   INIS-8
182   INIS-CYRILLIC
183   ISO_2033          ISO_2033-1983
184   ISO_5427
185   ISO_5427-EXT
186   #ISO_5428                             Handling of combining marks is broken
187   ISO_10367-BOX
188   MAC-IS
189   MAC-UK
190   CP10007
191   NATS-DANO
192   NATS-SEFI
193   WIN-SAMI-2        SAMI-WS2
194   ISO-IR-197
195   TIS-620
196   KOI8-U
197   #ISIRI-3342                         This charset concept is completely broken
198   VISCII
199   KOI8-T
200   GEORGIAN-PS
201   GEORGIAN-ACADEMY
202   ISO-IR-209
203   MAC-SAMI
204   ARMSCII-8
205   TCVN5712-1
206   TSCII
207   #
208   # Multibyte encodings come here
209   #
210   SJIS              SHIFT_JIS
211   #IBM932                               This converter looks quite strange
212   #IBM943                               This converter looks quite strange
213   EUC-KR
214   CP949
215   JOHAB
216   BIG5
217   BIG5HKSCS         BIG5-HKSCS
218   EUC-JP
219   EUC-CN            GB2312
220   GBK
221   EUC-TW
222   GB18030
223   EUC-JISX0213
224   SHIFT_JISX0213
225   #
226   # Stateful encodings not testable this way
227   #
228   #IBM930
229   #IBM933
230   #IBM935
231   #IBM937
232   #IBM939
233   #ISO-2022-JP
234   #ISO-2022-JP-2
235   #ISO-2022-JP-3
236   #ISO-2022-KR
237   #ISO-2022-CN
238   #ISO-2022-CN-EXT
239   #UTF-7
240   #
241 EOF
242 while read charset charmap; do
243   if test "$charset" = GB18030; then echo "This might take a while" 1>&2; fi
244   case ${charset} in \#*) continue;; esac
245   echo -n "Testing ${charset}" 1>&2
246   if ${SHELL} tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}; then
247     echo 1>&2
248   else
249     echo "failed: ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}"
250     echo " *** FAILED ***" 1>&2
251     exit 1
252   fi
253 done
254
255 exit $?