File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libiconv / tests / check-stateless
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:57:49 2012 UTC (12 years, 10 months ago) by misho
Branches: libiconv, MAIN
CVS tags: v1_16p0, v1_14p0, v1_14, v1_13_1, HEAD
libiconv

    1: #!/bin/sh
    2: # Complete check of a stateless encoding.
    3: # Usage: check-stateless SRCDIR CHARSET
    4: srcdir="$1"
    5: charset="$2"
    6: set -e
    7: 
    8: # charset, modified for use in filenames.
    9: charsetf=`echo "$charset" | sed -e 's,:,-,g'`
   10: 
   11: # iconv in one direction.
   12: ./table-from "$charset" > tmp-"$charsetf".TXT
   13: 
   14: # iconv in the other direction.
   15: ./table-to "$charset" | sort > tmp-"$charsetf".INVERSE.TXT
   16: 
   17: # Check 1: charmap and iconv forward should be identical.
   18: cmp "${srcdir}"/"$charsetf".TXT tmp-"$charsetf".TXT 2> /dev/null
   19: 
   20: # Check 2: the difference between the charmap and iconv backward.
   21: sed -e '/	.* 0x/d' < "${srcdir}"/"$charsetf".TXT > tmp-noprecomposed-"$charsetf".TXT
   22: if test -f "${srcdir}"/"$charsetf".IRREVERSIBLE.TXT; then
   23:   cat tmp-noprecomposed-"$charsetf".TXT "${srcdir}"/"$charsetf".IRREVERSIBLE.TXT | sort | uniq -u > tmp-orig-"$charsetf".INVERSE.TXT
   24: else
   25:   cp tmp-noprecomposed-"$charsetf".TXT tmp-orig-"$charsetf".INVERSE.TXT
   26: fi
   27: cmp tmp-orig-"$charsetf".INVERSE.TXT tmp-"$charsetf".INVERSE.TXT 2> /dev/null
   28: 
   29: rm -f tmp-"$charsetf".TXT tmp-"$charsetf".INVERSE.TXT tmp-noprecomposed-"$charsetf".TXT tmp-orig-"$charsetf".INVERSE.TXT
   30: exit 0
   31: # For a new encoding:
   32: # You can create the "$charsetf".TXT like this:
   33: #   ./table-from "$charset" > "$charsetf".TXT
   34: # You can create the "$charsetf".IRREVERSIBLE.TXT like this:
   35: #   ./table-to "$charset" | sort > "$charsetf".INVERSE.TXT
   36: #   diff "$charsetf".TXT "$charsetf".INVERSE.TXT | grep '^[<>]' | sed -e 's,^. ,,' > "$charsetf".IRREVERSIBLE.TXT

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>