This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

tests for UTF-16 and UTF-32 encodings



To avoid the kind of bugs reported for UTF-16 in the previous mail for the
future, here are additional tests of the UTF-16, UTF-16BE, UTF-16LE,
UTF-32, UTF-32BE, UTF-32LE encodings.

The files iconvdata/testdata/alfabeta..UTF-*E need binary mode in CVS.


2001-04-12  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/TESTS2: New file.
	* iconvdata/run-iconv-test.sh: Also run tests from TESTS2.
	* iconvdata/testdata/alfabeta..UTF-8: New file.
	* iconvdata/testdata/alfabeta..UTF-16.BE: New file.
	* iconvdata/testdata/alfabeta..UTF-16.LE: New file.
	* iconvdata/testdata/alfabeta..UTF-32.BE: New file.
	* iconvdata/testdata/alfabeta..UTF-32.LE: New file.

*** glibc-20010315/iconvdata/run-iconv-test.sh.bak	Tue Feb  6 14:39:09 2001
--- glibc-20010315/iconvdata/run-iconv-test.sh	Thu Apr 12 13:18:12 2001
***************
*** 127,133 ****
    fi
  
    if test "$subset" != Y; then
!     echo $ac_n "   suntzu: ASCII -> $to -> ASCII $ac_c"
      $PROG -f ASCII -t $to testdata/suntzus |
      $PROG -f $to -t ASCII > $temp1 ||
        { if test $? -gt 128; then exit 1; fi
--- 127,133 ----
    fi
  
    if test "$subset" != Y; then
!     echo $ac_n "      suntzu: ASCII -> $to -> ASCII $ac_c"
      $PROG -f ASCII -t $to testdata/suntzus |
      $PROG -f $to -t ASCII > $temp1 ||
        { if test $? -gt 128; then exit 1; fi
***************
*** 139,144 ****
--- 139,187 ----
    fi
  done < TESTS
  
+ # We read the file named TESTS2.  All non-empty lines not starting with
+ # `#' are interpreted as commands.
+ while read utf8 from filename; do
+   # Ignore empty and comment lines.
+   if test -z "$filename" || test "$utf8" = '#'; then continue; fi
+ 
+   # Expand the variables now.
+   PROG=`eval echo $ICONV`
+ 
+   # Test conversion to the endianness dependent encoding.
+   echo $ac_n "test encoder: $utf8 -> $from $ac_c"
+   $PROG -f $utf8 -t $from < testdata/${filename}..${utf8} > $temp1
+   cmp $temp1 testdata/${filename}..${from}.BE > /dev/null 2>&1 ||
+   cmp $temp1 testdata/${filename}..${from}.LE > /dev/null 2>&1 ||
+     { echo "/FAILED"; failed=1; continue; }
+   echo "OK"
+ 
+   # Test conversion from the endianness dependent encoding.
+   echo $ac_n "test decoder: $from -> $utf8 $ac_c"
+   $PROG -f $from -t $utf8 < testdata/${filename}..${from}.BE > $temp1
+   cmp $temp1 testdata/${filename}..${utf8} > /dev/null 2>&1 ||
+     { echo "/FAILED"; failed=1; continue; }
+   $PROG -f $from -t $utf8 < testdata/${filename}..${from}.LE > $temp1
+   cmp $temp1 testdata/${filename}..${utf8} > /dev/null 2>&1 ||
+     { echo "/FAILED"; failed=1; continue; }
+   echo "OK"
+ 
+   # Test byte swapping behaviour.
+   echo $ac_n "test non-BOM: ${from}BE -> ${from}LE $ac_c"
+   $PROG -f ${from}BE -t ${from}LE < testdata/${filename}..${from}.BE > $temp1
+   cmp $temp1 testdata/${filename}..${from}.LE > /dev/null 2>&1 ||
+     { echo "/FAILED"; failed=1; continue; }
+   echo "OK"
+ 
+   # Test byte swapping behaviour.
+   echo $ac_n "test non-BOM: ${from}LE -> ${from}BE $ac_c"
+   $PROG -f ${from}LE -t ${from}BE < testdata/${filename}..${from}.LE > $temp1
+   cmp $temp1 testdata/${filename}..${from}.BE > /dev/null 2>&1 ||
+     { echo "/FAILED"; failed=1; continue; }
+   echo "OK"
+ 
+ done < TESTS2
+ 
  exit $failed
  # Local Variables:
  #  mode:shell-script

begin 644 utf-tests-files.tar.gz
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
HC1LW;MRX<>/&C1LW;MRX<>/&C1LW;MRX<>/&S=<O_P5-Q#<&`%``````
`
end


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]