Update copyright notices with scripts/update-copyrights
[jlayton/glibc.git] / iconvdata / tst-tables.sh
1 #!/bin/sh
2 # Copyright (C) 2000-2014 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, see
19 # <http://www.gnu.org/licenses/>.
20
21 # Checks that the iconv() implementation (in both directions) for the
22 # stateless encodings agrees with the corresponding charmap table.
23
24 common_objpfx=$1
25 objpfx=$2
26 test_program_prefix=$3
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-9E
69   ISO-8859-10
70   ISO-8859-11
71   ISO-8859-13
72   ISO-8859-14
73   ISO-8859-15
74   ISO-8859-16
75   T.61-8BIT
76   ISO_6937
77   #ISO_6937-2        ISO-IR-90          Handling of combining marks is broken
78   KOI-8
79   KOI8-R
80   LATIN-GREEK
81   LATIN-GREEK-1
82   HP-ROMAN8
83   HP-ROMAN9
84   HP-TURKISH8
85   HP-THAI8
86   HP-GREEK8
87   EBCDIC-AT-DE
88   EBCDIC-AT-DE-A
89   EBCDIC-CA-FR
90   EBCDIC-DK-NO
91   EBCDIC-DK-NO-A
92   EBCDIC-ES
93   EBCDIC-ES-A
94   EBCDIC-ES-S
95   EBCDIC-FI-SE
96   EBCDIC-FI-SE-A
97   EBCDIC-FR
98   EBCDIC-IS-FRISS
99   EBCDIC-IT
100   EBCDIC-PT
101   EBCDIC-UK
102   EBCDIC-US
103   IBM037
104   IBM038
105   IBM256
106   IBM273
107   IBM274
108   IBM275
109   IBM277
110   IBM278
111   IBM280
112   IBM281
113   IBM284
114   IBM285
115   IBM290
116   IBM297
117   IBM420
118   IBM423
119   IBM424
120   IBM437
121   IBM500
122   IBM850
123   IBM851
124   IBM852
125   IBM855
126   IBM856
127   IBM857
128   IBM860
129   IBM861
130   IBM862
131   IBM863
132   IBM864
133   IBM865
134   IBM866
135   IBM866NAV
136   IBM868
137   IBM869
138   IBM870
139   IBM871
140   IBM875
141   IBM880
142   IBM891
143   IBM903
144   IBM904
145   IBM905
146   IBM918
147   IBM922
148   IBM1004
149   IBM1026
150   #IBM1046                              Differs from the AIX and JDK converters
151   IBM1047
152   IBM1124
153   IBM1129
154   IBM1160
155   IBM1161
156   IBM1132
157   IBM1133
158   IBM1162
159   IBM1163
160   IBM1164
161   CP1125
162   CP1250
163   CP1251
164   CP1252
165   CP1253
166   CP1254
167   CP1255
168   CP1256
169   CP1257
170   CP1258
171   IBM874
172   CP737
173   CP770
174   CP771
175   CP772
176   CP773
177   CP774
178   CP775
179   MACINTOSH
180   IEC_P27-1
181   ASMO_449
182   ISO-IR-99         ANSI_X3.110-1983
183   ISO-IR-139        CSN_369103
184   CWI
185   DEC-MCS
186   ECMA-CYRILLIC
187   ISO-IR-153        GOST_19768-74
188   GREEK-CCITT
189   GREEK7
190   GREEK7-OLD
191   INIS
192   INIS-8
193   INIS-CYRILLIC
194   ISO_2033          ISO_2033-1983
195   ISO_5427
196   ISO_5427-EXT
197   #ISO_5428                             Handling of combining marks is broken
198   ISO_10367-BOX
199   MAC-IS
200   MAC-UK
201   CP10007
202   NATS-DANO
203   NATS-SEFI
204   WIN-SAMI-2        SAMI-WS2
205   ISO-IR-197
206   TIS-620
207   KOI8-U
208   #ISIRI-3342                         This charset concept is completely broken
209   VISCII
210   KOI8-T
211   GEORGIAN-PS
212   GEORGIAN-ACADEMY
213   ISO-IR-209
214   MAC-SAMI
215   ARMSCII-8
216   TCVN5712-1
217   TSCII
218   PT154
219   RK1048
220   MIK
221   BRF
222   MAC-CENTRALEUROPE
223   KOI8-RU
224   #
225   # Multibyte encodings come here
226   #
227   SJIS              SHIFT_JIS
228   CP932             WINDOWS-31J
229   #IBM932                               This converter looks quite strange
230   #IBM943                               This converter looks quite strange
231   EUC-KR
232   CP949
233   JOHAB
234   BIG5
235   BIG5HKSCS         BIG5-HKSCS
236   EUC-JP
237   EUC-JP-MS
238   EUC-CN            GB2312
239   GBK
240   EUC-TW
241   GB18030
242   EUC-JISX0213
243   SHIFT_JISX0213
244   #
245   # Stateful encodings not testable this way
246   #
247   #IBM930
248   #IBM933
249   #IBM935
250   #IBM937
251   #IBM939
252   #ISO-2022-JP
253   #ISO-2022-JP-2
254   #ISO-2022-JP-3
255   #ISO-2022-KR
256   #ISO-2022-CN
257   #ISO-2022-CN-EXT
258   #UTF-7
259   #
260 EOF
261 while read charset charmap; do
262   if test "$charset" = GB18030; then echo "This might take a while" 1>&2; fi
263   case ${charset} in \#*) continue;; esac
264   echo -n "Testing ${charset}" 1>&2
265   if ./tst-table.sh ${common_objpfx} ${objpfx} "${test_program_prefix}" \
266       ${charset} ${charmap} < /dev/null; then
267     echo 1>&2
268   else
269     echo "failed: ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}"
270     echo " *** FAILED ***" 1>&2
271     exit 1
272   fi
273 done
274
275 exit $?