| #!/bin/sh |
| # Copyright (C) 2000-2014 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 Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2.1 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 |
| # Lesser General Public License for more details. |
| |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with the GNU C Library; if not, see |
| # <http://www.gnu.org/licenses/>. |
| |
| # Checks that the iconv() implementation (in both directions) for the |
| # stateless encodings agrees with the corresponding charmap table. |
| |
| common_objpfx=$1 |
| objpfx=$2 |
| test_program_prefix=$3 |
| |
| 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-9E |
| ISO-8859-10 |
| ISO-8859-11 |
| 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 |
| HP-ROMAN9 |
| HP-TURKISH8 |
| HP-THAI8 |
| HP-GREEK8 |
| 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 |
| IBM856 |
| IBM857 |
| IBM860 |
| IBM861 |
| IBM862 |
| IBM863 |
| IBM864 |
| IBM865 |
| IBM866 |
| IBM866NAV |
| IBM868 |
| IBM869 |
| IBM870 |
| IBM871 |
| IBM875 |
| IBM880 |
| IBM891 |
| IBM903 |
| IBM904 |
| IBM905 |
| IBM918 |
| IBM922 |
| IBM1004 |
| IBM1026 |
| #IBM1046 Differs from the AIX and JDK converters |
| IBM1047 |
| IBM1124 |
| IBM1129 |
| IBM1160 |
| IBM1161 |
| IBM1132 |
| IBM1133 |
| IBM1162 |
| IBM1163 |
| IBM1164 |
| CP1125 |
| CP1250 |
| CP1251 |
| CP1252 |
| CP1253 |
| CP1254 |
| CP1255 |
| CP1256 |
| CP1257 |
| CP1258 |
| IBM874 |
| CP737 |
| CP770 |
| CP771 |
| CP772 |
| CP773 |
| CP774 |
| 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 |
| CP10007 |
| NATS-DANO |
| NATS-SEFI |
| WIN-SAMI-2 SAMI-WS2 |
| ISO-IR-197 |
| TIS-620 |
| KOI8-U |
| #ISIRI-3342 This charset concept is completely broken |
| VISCII |
| KOI8-T |
| GEORGIAN-PS |
| GEORGIAN-ACADEMY |
| ISO-IR-209 |
| MAC-SAMI |
| ARMSCII-8 |
| TCVN5712-1 |
| TSCII |
| PT154 |
| RK1048 |
| MIK |
| BRF |
| MAC-CENTRALEUROPE |
| KOI8-RU |
| # |
| # Multibyte encodings come here |
| # |
| SJIS SHIFT_JIS |
| CP932 WINDOWS-31J |
| #IBM932 This converter looks quite strange |
| #IBM943 This converter looks quite strange |
| EUC-KR |
| CP949 |
| JOHAB |
| BIG5 |
| BIG5HKSCS BIG5-HKSCS |
| EUC-JP |
| EUC-JP-MS |
| EUC-CN GB2312 |
| GBK |
| EUC-TW |
| GB18030 |
| EUC-JISX0213 |
| SHIFT_JISX0213 |
| # |
| # Stateful encodings not testable this way |
| # |
| #IBM930 |
| #IBM933 |
| #IBM935 |
| #IBM937 |
| #IBM939 |
| #ISO-2022-JP |
| #ISO-2022-JP-2 |
| #ISO-2022-JP-3 |
| #ISO-2022-KR |
| #ISO-2022-CN |
| #ISO-2022-CN-EXT |
| #UTF-7 |
| # |
| EOF |
| while read charset charmap; do |
| if test "$charset" = GB18030; then echo "This might take a while" 1>&2; fi |
| case ${charset} in \#*) continue;; esac |
| echo -n "Testing ${charset}" 1>&2 |
| if ./tst-table.sh ${common_objpfx} ${objpfx} "${test_program_prefix}" \ |
| ${charset} ${charmap} < /dev/null; then |
| echo 1>&2 |
| else |
| echo "failed: ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}" |
| echo " *** FAILED ***" 1>&2 |
| exit 1 |
| fi |
| done |
| |
| exit $? |