]> granicus.if.org Git - recode/commitdiff
Use pytest instead of Autotest
authorFrançois Pinard <pinard@iro.umontreal.ca>
Wed, 20 Feb 2008 19:05:53 +0000 (14:05 -0500)
committerFrançois Pinard <pinard@iro.umontreal.ca>
Sat, 23 Feb 2008 04:17:43 +0000 (23:17 -0500)
49 files changed:
.gitignore [new file with mode: 0644]
ChangeLog
Makefile.in
aclocal.m4
configure
configure.ac
contrib/Makefile.in
doc/Makefile.in
lib/Makefile.in
libiconv/Makefile.in
m4/ChangeLog
m4/atconfig.m4 [deleted file]
po/Makefile.in
python/ChangeLog [new file with mode: 0644]
python/Makefile [new file with mode: 0644]
python/Recode.pyx [new file with mode: 0644]
python/setup.py [new file with mode: 0644]
src/Makefile.in
tests/ChangeLog
tests/Makefile.am
tests/Makefile.in
tests/NOTES [new file with mode: 0644]
tests/atconfig.in [deleted file]
tests/atgeneral.m4 [deleted file]
tests/base64.m4 [deleted file]
tests/combine.m4 [deleted file]
tests/common.py [new file with mode: 0644]
tests/dumps-data [deleted file]
tests/methods.m4 [deleted file]
tests/pytest [new file with mode: 0755]
tests/quoted-data [deleted file]
tests/suite.m4 [deleted file]
tests/t21_names.py [new file with mode: 0644]
tests/t22_lists.py [moved from tests/lists.m4 with 95% similarity]
tests/t25_subsets.py [moved from tests/names.m4 with 56% similarity]
tests/t30_base64.py [new file with mode: 0644]
tests/t30_dumps.py [moved from tests/dumps.m4 with 64% similarity]
tests/t30_quoted.py [moved from tests/quoted.m4 with 59% similarity]
tests/t40_african.py [moved from tests/african.m4 with 69% similarity]
tests/t40_combine.py [new file with mode: 0644]
tests/t40_testdump.py [new file with mode: 0644]
tests/t40_utf7.py [new file with mode: 0644]
tests/t40_utf8.py [moved from tests/utf8.m4 with 60% similarity]
tests/t60_methods.py [new file with mode: 0644]
tests/test-one [deleted file]
tests/testdump.m4 [deleted file]
tests/testsuite [deleted file]
tests/utf7-data [deleted file]
tests/utf7.m4 [deleted file]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..edee7fc
--- /dev/null
@@ -0,0 +1,2 @@
+*.pyc
+python/Recode.c
index 3eb476e850b7c1dbcf206460bae0ca124cfda4c5..4f62b7683509f44d344dd693f70910bb145390a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-22  François Pinard  <pinard@iro.umontreal.ca>
+
+       * configure.ac: Delete AT_CONFIG.
+
 2008-02-21  François Pinard  <pinard@iro.umontreal.ca>
 
        * README: Tell about contrib/README.
index 5c098be389ed0eb17200533da3131184bb3831dc..1a7a27aee351c7d06c05c55cf13d8a6ff010c374 100644 (file)
@@ -57,14 +57,14 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        INSTALL NEWS THANKS TODO config.guess config.rpath config.sub \
        depcomp install-sh ltconfig ltmain.sh missing mkinstalldirs
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/malloc.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -101,7 +101,6 @@ ACLOCAL = ./aclocal.sh @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
index da8525aa4c497b4045bc14951f1a0ba2431f0062..cfbb0d445cf6b38b8159c6dffeb06839a7334be9 100644 (file)
@@ -7491,7 +7491,6 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-m4_include([m4/atconfig.m4])
 m4_include([m4/codeset.m4])
 m4_include([m4/gettext.m4])
 m4_include([m4/glibc21.m4])
index b9d40cec4aa41ecd025f9bb6a3124b640ea05e67..b1b874d42d4a1580e48b3eab3f6de82bcef0dd8c 100755 (executable)
--- a/configure
+++ b/configure
@@ -827,7 +827,6 @@ am__leading_dot
 AMTAR
 am__tar
 am__untar
-AT_TESTPATH
 CC
 CFLAGS
 LDFLAGS
@@ -2437,35 +2436,6 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
 
-AT_TESTPATH=../src
-
-{ echo "$as_me:$LINENO: checking how to suppress newlines using echo" >&5
-echo $ECHO_N "checking how to suppress newlines using echo... $ECHO_C" >&6; }
-if test "${fp_cv_prog_echo_nonl+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    fp_cv_prog_echo_nonl=no
-  else
-    fp_cv_prog_echo_nonl=option
-  fi
-else
-  fp_cv_prog_echo_nonl=escape
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $fp_cv_prog_echo_nonl" >&5
-echo "${ECHO_T}$fp_cv_prog_echo_nonl" >&6; }
-test $fp_cv_prog_echo_nonl = no \
-  && echo 2>&1 "WARNING: \`echo' not powerful enough for \`make check'"
-case $fp_cv_prog_echo_nonl in
-  no) ECHO_N= ECHO_C= ;;
-  option) ECHO_N=-n ECHO_C= ;;
-  escape) ECHO_N= ECHO_C='\c' ;;
-esac
-
-
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -5017,7 +4987,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5020 "configure"' > conftest.$ac_ext
+  echo '#line 4990 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -7280,11 +7250,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7283: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7253: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7287: \$? = $ac_status" >&5
+   echo "$as_me:7257: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7570,11 +7540,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7573: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7543: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7577: \$? = $ac_status" >&5
+   echo "$as_me:7547: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7674,11 +7644,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7677: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7647: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7681: \$? = $ac_status" >&5
+   echo "$as_me:7651: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -10023,7 +9993,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10026 "configure"
+#line 9996 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10123,7 +10093,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10126 "configure"
+#line 10096 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12543,11 +12513,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12546: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12516: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:12550: \$? = $ac_status" >&5
+   echo "$as_me:12520: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -12647,11 +12617,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12650: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12620: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:12654: \$? = $ac_status" >&5
+   echo "$as_me:12624: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14209,11 +14179,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14212: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14182: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14216: \$? = $ac_status" >&5
+   echo "$as_me:14186: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14313,11 +14283,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14316: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14286: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14320: \$? = $ac_status" >&5
+   echo "$as_me:14290: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16500,11 +16470,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16503: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16473: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16507: \$? = $ac_status" >&5
+   echo "$as_me:16477: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16790,11 +16760,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16793: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16763: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16797: \$? = $ac_status" >&5
+   echo "$as_me:16767: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16894,11 +16864,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16897: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16867: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16901: \$? = $ac_status" >&5
+   echo "$as_me:16871: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -24741,7 +24711,6 @@ am__leading_dot!$am__leading_dot$ac_delim
 AMTAR!$AMTAR$ac_delim
 am__tar!$am__tar$ac_delim
 am__untar!$am__untar$ac_delim
-AT_TESTPATH!$AT_TESTPATH$ac_delim
 CC!$CC$ac_delim
 CFLAGS!$CFLAGS$ac_delim
 LDFLAGS!$LDFLAGS$ac_delim
@@ -24779,6 +24748,7 @@ CXXFLAGS!$CXXFLAGS$ac_delim
 ac_ct_CXX!$ac_ct_CXX$ac_delim
 CXXDEPMODE!$CXXDEPMODE$ac_delim
 am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
+am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -24820,7 +24790,6 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
 CXXCPP!$CXXCPP$ac_delim
 F77!$F77$ac_delim
 FFLAGS!$FFLAGS$ac_delim
@@ -24852,7 +24821,7 @@ POSUB!$POSUB$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 30; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 29; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
index 0ace57444a381aea5bcb79f9ea2b23dc90261807..2dc03fe10c50ef2df95b71265210a2217aad4de9 100644 (file)
@@ -6,7 +6,6 @@ AC_INIT(src/recode.c)
 AC_PREREQ(2.12)
 AM_CONFIG_HEADER(config.h)
 AM_INIT_AUTOMAKE(recode, 3.6)
-AT_CONFIG(../src)
 
 AC_PROG_CC
 AC_AIX
index 5a63673df13d7dd73a9cd5661818355431fe4525..3a8aeb54e2cb8bb47ac5ffb1195ae6cbd7d18c62 100644 (file)
@@ -53,14 +53,14 @@ subdir = contrib
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        ChangeLog
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/malloc.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -73,7 +73,6 @@ ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
index 530d803340bf4efd876a85d729264ec9ed9351b7..ccae5c1a1eae58fd83ba57e6ab501b05d1c2b563 100644 (file)
@@ -54,14 +54,14 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/stamp-vti $(srcdir)/version.texi ChangeLog mdate-sh \
        texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/malloc.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -93,7 +93,6 @@ ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
index 39b961b7cd137f269a5cf17768f8ca8064126e35..531a42efc814f4503148d6f818346b206a428ed6 100644 (file)
@@ -57,14 +57,14 @@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in ChangeLog alloca.c malloc.c realloc.c \
        strtol.c strtoul.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/malloc.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -99,7 +99,6 @@ ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
index 0eab9485d84107217d618493c01ecfc97dcd9c86..97b4d614eeda2fba6972b9fc31dde0f0648b9a8e 100644 (file)
@@ -55,14 +55,14 @@ subdir = libiconv
 DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in ChangeLog
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/malloc.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -78,7 +78,6 @@ ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
index 6164c9c8d581dc17c2d3709f432f3bca71753a15..1e66ec99f836374928c97edfc08fe6d8ae30364b 100644 (file)
@@ -1,3 +1,7 @@
+2008-02-22  François Pinard  <pinard@iro.umontreal.ca>
+
+       * atconfig.m4: Deleted.
+
 2008-02-21  François Pinard  <pinard@iro.umontreal.ca>
 
        * Makefile.am: Deleted, no longer needed.
diff --git a/m4/atconfig.m4 b/m4/atconfig.m4
deleted file mode 100644 (file)
index fb0ba50..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-## ----------------------##
-## Prepare for testing.  ##
-## ----------------------##
-
-# The argument (often `../src') says where are the built sources to test,
-# relative to the built test directory.  Empty for a flat distribution, as
-# `.' gets always added in front of the search path by the `atconfig' script.
-
-AC_DEFUN([AT_CONFIG],
-[AT_TESTPATH=$1
-AC_SUBST(AT_TESTPATH)
-fp_PROG_ECHO
-])
-
-## ----------------------------------------- ##
-## Find how to suppress newlines with echo.  ##
-## ----------------------------------------- ##
-
-# Once this macro is called, you may output with no echo in a Makefile or
-# script using:  echo @ECHO_N@ "STRING_TO_OUTPUT@ECHO_C@".
-
-AC_DEFUN([fp_PROG_ECHO],
-[AC_CACHE_CHECK(how to suppress newlines using echo, fp_cv_prog_echo_nonl,
-[if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    fp_cv_prog_echo_nonl=no
-  else
-    fp_cv_prog_echo_nonl=option
-  fi
-else
-  fp_cv_prog_echo_nonl=escape
-fi
-])
-test $fp_cv_prog_echo_nonl = no \
-  && echo 2>&1 "WARNING: \`echo' not powerful enough for \`make check'"
-case $fp_cv_prog_echo_nonl in
-  no) ECHO_N= ECHO_C= ;;
-  option) ECHO_N=-n ECHO_C= ;;
-  escape) ECHO_N= ECHO_C='\c' ;;
-esac
-AC_SUBST(ECHO_N)dnl
-AC_SUBST(ECHO_C)dnl
-])
index e0c2e108e131704f67fceb19aa1718209ac9bf69..efd58ecbbb113f4b687ad670880b9271013900e4 100644 (file)
@@ -40,10 +40,21 @@ build_triplet = @build@
 host_triplet = @host@
 subdir = i18n
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+<<<<<<< HEAD:po/Makefile.in
 am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
        $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/glibc21.m4 \
        $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/realloc.m4 \
        $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+=======
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
+>>>>>>> Switching to pytest:m4/Makefile.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in.in ChangeLog
@@ -59,7 +70,6 @@ AMDEP_FALSE = @AMDEP_FALSE@
 AMDEP_TRUE = @AMDEP_TRUE@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -172,6 +182,7 @@ sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 AUTOMAKE_OPTIONS = gnits
+<<<<<<< HEAD:po/Makefile.in
 localedir = $(prefix)/share/locale
 ALL_POFILES = @ALL_POFILES@
 ALL_MOFILES = @ALL_MOFILES@
@@ -179,6 +190,9 @@ MOFILES = @MOFILES@
 EXTRA_DIST = $(PACKAGE).pot $(ALL_POFILES) $(ALL_MOFILES)
 SUFFIXES = .po .pox .mo
 MAINTAINER_CLEAN = $(PACKAGE).pot $(MOFILES)
+=======
+EXTRA_DIST = gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 codeset.m4 glibc21.m4 malloc.m4 realloc.m4 utimbuf.m4
+>>>>>>> Switching to pytest:m4/Makefile.in
 all: all-am
 
 .SUFFIXES:
diff --git a/python/ChangeLog b/python/ChangeLog
new file mode 100644 (file)
index 0000000..e175363
--- /dev/null
@@ -0,0 +1,3 @@
+2008-02-22  François Pinard  <pinard@iro.umontreal.ca>
+
+       * Makefile, Recode.pyx, setup.py: New files.
diff --git a/python/Makefile b/python/Makefile
new file mode 100644 (file)
index 0000000..149774f
--- /dev/null
@@ -0,0 +1,12 @@
+essai: install
+       python Essai.py
+
+all:
+       python setup.py build_ext \
+         --include-dir=../essai:../src --libraries=recode
+
+install: all
+       python setup.py install --skip-build
+
+xx: xx.c
+       gcc -o xx -I ../essai -I ../src xx.c -lrecode
diff --git a/python/Recode.pyx b/python/Recode.pyx
new file mode 100644 (file)
index 0000000..f69e11b
--- /dev/null
@@ -0,0 +1,919 @@
+# -*- coding: utf-8 -*-
+
+cdef enum bool:
+    false = 0
+    true = 1
+
+cdef extern from "stdio.h":
+    struct FILE:
+        pass
+
+cdef extern from "config.h":
+    ctypedef long size_t
+
+cdef extern from "common.h":
+
+    ## From "recode.h"
+
+    # Published (opaque) typedefs.
+
+    struct recode_outer:
+        pass
+    struct recode_request:
+        pass
+    struct recode_task:
+        pass
+    struct recode_symbol:
+        pass
+    ctypedef recode_outer *RECODE_OUTER
+    ctypedef recode_request *RECODE_REQUEST
+    ctypedef recode_task *RECODE_TASK
+    ctypedef recode_request *RECODE_CONST_REQUEST
+    ctypedef recode_symbol *RECODE_CONST_SYMBOL
+
+    # Description of list formats.
+
+    enum recode_list_format:
+        RECODE_NO_FORMAT
+        RECODE_DECIMAL_FORMAT
+        RECODE_OCTAL_FORMAT
+        RECODE_HEXADECIMAL_FORMAT
+        RECODE_FULL_FORMAT
+
+    # Description of programming languages.
+
+    enum recode_programming_language:
+        RECODE_NO_LANGUAGE
+        RECODE_LANGUAGE_C
+        RECODE_LANGUAGE_PERL
+
+    # Recode library at OUTER level.
+
+    RECODE_OUTER recode_new_outer(bool)
+    bool recode_delete_outer(RECODE_OUTER)
+    bool list_all_symbols(RECODE_OUTER, RECODE_CONST_SYMBOL)
+    bool list_concise_charset(
+            RECODE_OUTER, RECODE_CONST_SYMBOL, recode_list_format)
+    bool list_full_charset(RECODE_OUTER, RECODE_CONST_SYMBOL)
+
+    # Recode library at REQUEST level.
+
+    RECODE_REQUEST recode_new_request(RECODE_OUTER)
+    bool recode_delete_request(RECODE_REQUEST)
+    bool recode_scan_request(RECODE_REQUEST, char *)
+    bool recode_format_table(
+            RECODE_REQUEST, recode_programming_language, char *)
+    char *recode_string(RECODE_CONST_REQUEST, char *)
+    bool recode_string_to_buffer(
+            RECODE_CONST_REQUEST, char *, char **, size_t *, size_t *)
+    bool recode_string_to_file(
+            RECODE_CONST_REQUEST, char *, FILE *)
+    bool recode_buffer_to_buffer(
+            RECODE_CONST_REQUEST, char *, size_t, char **, size_t *, size_t *)
+    bool recode_buffer_to_file(
+            RECODE_CONST_REQUEST, char *, size_t, FILE *)
+    bool recode_file_to_buffer(
+            RECODE_CONST_REQUEST, FILE *, char **, size_t *, size_t *)
+    bool recode_file_to_file(RECODE_CONST_REQUEST, FILE *, FILE *)
+
+    # Recode library at TASK level.
+
+    RECODE_TASK recode_new_task(RECODE_CONST_REQUEST)
+    bool recode_delete_task(RECODE_TASK)
+    bool recode_perform_task(RECODE_TASK)
+
+    ## From "recodext.h"
+
+    #/* Internal typedefs, to supplement those in "recode.h".  */
+    #
+    #typedef struct recode_symbol *                     RECODE_SYMBOL;
+    #typedef struct recode_option_list *                RECODE_OPTION_LIST;
+    #typedef struct recode_single *                     RECODE_SINGLE;
+    #typedef struct recode_step *                       RECODE_STEP;
+    #typedef struct recode_alias *                      RECODE_ALIAS;
+    #typedef struct recode_subtask *                    RECODE_SUBTASK;
+    #
+    #typedef const struct recode_option_list *  RECODE_CONST_OPTION_LIST;
+    #typedef const struct recode_outer *                RECODE_CONST_OUTER;
+    #typedef const struct recode_step *         RECODE_CONST_STEP;
+    #typedef const struct recode_alias *                RECODE_CONST_ALIAS;
+    #typedef const struct recode_task *         RECODE_CONST_TASK;
+    #
+    #/*---------------------------------------------------------.
+    #| Maintain maximum of ERROR and current error in SUBTASK.  |
+    #`---------------------------------------------------------*/
+    #
+    ##define SET_SUBTASK_ERROR(Error, Subtask) \
+    #  recode_if_nogo (Error, Subtask)
+    #
+    #/*--------------------------------------------------------------------------.
+    #| Return from SUBTASK with `false', if the failure level has been reached.  |
+    #`--------------------------------------------------------------------------*/
+    #
+    ##define SUBTASK_RETURN(Subtask) \
+    #  return (Subtask)->task->error_so_far < (Subtask)->task->fail_level
+    #
+    #/*-------------------------------------------------------------------------.
+    #| Maintain maximum of ERROR and current error in SUBTASK.  If the abort    |
+    #| level has been reached, then return immediately as with SUBTASK_RETURN.  |
+    #`-------------------------------------------------------------------------*/
+    #
+    ##define RETURN_IF_NOGO(Error, Subtask) \
+    #  do {                                                             \
+    #    if (recode_if_nogo (Error, Subtask))                   \
+    #       SUBTASK_RETURN (Subtask);                           \
+    #  } while (false)
+    #\f
+    #/* Various structure declarations.  */
+    #
+    #/*-----------------------------------------.
+    #| Outer variables for the recode library.  |
+    #`-----------------------------------------*/
+    #
+    #/* Error codes, in increasing severity.  */
+    #
+    #enum recode_error
+    #  {
+    #    RECODE_NO_ERROR,               /* no error so far */
+    #    RECODE_NOT_CANONICAL,  /* input is not exact, but equivalent */
+    #    RECODE_AMBIGUOUS_OUTPUT,       /* output will be misleading */
+    #    RECODE_UNTRANSLATABLE, /* input is getting lost, while valid */
+    #    RECODE_INVALID_INPUT,  /* input is getting lost, but was invalid */
+    #    RECODE_SYSTEM_ERROR,   /* system returned input/output failure */
+    #    RECODE_USER_ERROR,             /* library is being misused */
+    #    RECODE_INTERNAL_ERROR, /* programming botch in the library */
+    #    RECODE_MAXIMUM_ERROR   /* impossible value (should be kept last) */
+    #  };
+    #
+    #/* Structure for relating alias names to charsets and surfaces.  */
+    #
+    #struct recode_alias
+    #  {
+    #    const char *name;              /* charset, surface or alias name */
+    #    RECODE_SYMBOL symbol;  /* associated symbol */
+    #    /* If a charset, list of surfaces usually applied by default.  */
+    #    struct recode_surface_list *implied_surfaces;
+    #  };
+    #
+    #/* The sole purpose of qualities is for later attributing step costs.  */
+    #
+    #enum recode_size
+    #  {
+    #    RECODE_1,                      /* roughly one byte per character */
+    #    RECODE_2,                      /* roughly two bytes per character */
+    #    RECODE_4,                      /* roughly four bytes per character */
+    #    RECODE_N                       /* variable number of bytes per character */
+    #  };
+    #
+    #struct recode_quality
+    #  {
+    #    enum recode_size in_size : 3; /* rough byte size of input characters */
+    #    enum recode_size out_size : 3; /* rough byte size of output characters */
+    #    bool reversible : 1;   /* transformation is known to be reversible */
+    #    bool slower : 1;               /* transformation is slower than average */
+    #    bool faster : 1;               /* transformation is faster than average */
+    #  };
+    #
+    #/* Main variables of the initialised library.  */
+    #
+    #struct recode_outer
+    #  {
+    #    /* This flag asks the library to diagnose and abort itself if errors.  */
+    #    bool auto_abort;
+    #
+    #    /* If new steps should automatically have reversibility for fallback.  */
+    #    bool auto_reversibility;
+    #
+    #    /* charset.c */
+    #    /* --------- */
+    #
+    #    /* Known pairs (for restricting listing).  */
+    #    struct recode_known_pair *pair_restriction;
+    #    unsigned pair_restrictions;
+    #
+    #    /* Opaque Hash_table pointer giving access to the single table holding all
+    #       names and aliases for charsets, surfaces and fallback methods.  */
+    #    void *alias_table;
+    #
+    #    /* Unique symbols are linked into a list and counted.  */
+    #    RECODE_SYMBOL symbol_list;
+    #    unsigned number_of_symbols;
+    #
+    #    /* Arrays of strings ready for argmatch.  */
+    #    char **argmatch_charset_array;
+    #    char **argmatch_surface_array;
+    #    const char **realname_charset_array;
+    #    const char **realname_surface_array;
+    #
+    #    /* recode.c */
+    #    /* -------- */
+    #
+    #    /* Known single steps.  */
+    #    struct recode_single *single_list;
+    #    unsigned number_of_singles;
+    #
+    #    /* Identity recoding table.  */
+    #    const unsigned char *one_to_same;
+    #
+    #    /* Preset charsets and surfaces.  */
+    #    RECODE_SYMBOL data_symbol;/* special charset defining surfaces */
+    #    RECODE_SYMBOL tree_symbol; /* special charset defining structures */
+    #    RECODE_SYMBOL ucs2_charset; /* UCS-2 */
+    #    RECODE_SYMBOL libiconv_pivot; /* `libiconv' internal UCS */
+    #    RECODE_SYMBOL crlf_surface; /* for IBM PC machines */
+    #    RECODE_SYMBOL cr_surface;      /* for Macintosh machines */
+    #
+    #    /* Preset qualities, to make step initialisation simpler.  */
+    #    struct recode_quality quality_byte_reversible;
+    #    struct recode_quality quality_byte_to_byte;
+    #    struct recode_quality quality_byte_to_ucs2;
+    #    struct recode_quality quality_byte_to_variable;
+    #    struct recode_quality quality_ucs2_to_byte;
+    #    struct recode_quality quality_ucs2_to_variable;
+    #    struct recode_quality quality_variable_to_byte;
+    #    struct recode_quality quality_variable_to_ucs2;
+    #    struct recode_quality quality_variable_to_variable;
+    #  };
+    #
+    #/*--------------------------.
+    #| Description of a symbol.  |
+    #`--------------------------*/
+    #
+    #enum recode_symbol_type
+    #  {
+    #    RECODE_NO_SYMBOL_TYPE, /* missing value */
+    #    RECODE_CHARSET,                /* visible in the space of charsets */
+    #    RECODE_DATA_SURFACE,   /* this is a mere data surface */
+    #    RECODE_TREE_SURFACE            /* this is a structural surface */
+    #  };
+    #
+    #enum recode_data_type
+    #  {
+    #    RECODE_NO_CHARSET_DATA,        /* the charset_table field is unused */
+    #    RECODE_STRIP_DATA,             /* pool pointer and array of strips */
+    #    RECODE_EXPLODE_DATA            /* explode variable length data */
+    #  };
+    #
+    #struct recode_symbol
+    #  {
+    #    /* Chaining of all known symbols (charsets and surfaces).  */
+    #    RECODE_SYMBOL next;
+    #
+    #    /* Unique ordinal for this symbol, counted from zero.  */
+    #    unsigned ordinal;
+    #
+    #    /* Main name.  */
+    #    const char *name;
+    #
+    #    /* Type of table.  */
+    #    enum recode_data_type data_type;
+    #
+    #    /* Recoding table.  */
+    #    void *data;
+    #
+    #    /* Step for data..CHARSET transformation, if any, or NULL.  */
+    #    struct recode_single *resurfacer;
+    #
+    #    /* Step for CHARSET..data transformation, if any, or NULL.  */
+    #    struct recode_single *unsurfacer;
+    #
+    #    /* Non zero if this is an acceptable charset (not only a surface).  */
+    #    enum recode_symbol_type type : 3;
+    #
+    #    /* Non zero if this one should be ignored.  */
+    #    bool ignore : 2;
+    #  };
+    #
+    #struct recode_surface_list
+    #  {
+    #    RECODE_CONST_SYMBOL surface;
+    #    struct recode_surface_list *next;
+    #  };
+    #
+    #/*-------------------------------------------.
+    #| Description of a single step of recoding.  |
+    #`-------------------------------------------*/
+    #
+    #typedef bool (*Recode_init) PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST,
+    #                                RECODE_CONST_OPTION_LIST,
+    #                                RECODE_CONST_OPTION_LIST));
+    #typedef bool (*Recode_term) PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST));
+    #typedef bool (*Recode_transform) PARAMS ((RECODE_SUBTASK));
+    #typedef bool (*Recode_fallback) PARAMS ((RECODE_SUBTASK, unsigned));
+    #
+    #/* The `single' structure holds data needed to decide of sequences, and is
+    #   invariant over actual requests.  The `step' structure holds data needed for
+    #   task execution, it may take care of fallback and option variance.  */
+    #
+    #struct recode_single
+    #  {
+    #    /* Chaining of all known single steps.  */
+    #    struct recode_single *next;
+    #
+    #    /* Charset before conversion.  */
+    #    RECODE_SYMBOL before;
+    #
+    #    /* Charset after conversion.  */
+    #    RECODE_SYMBOL after;
+    #
+    #    /* Cost for this single step only.  */
+    #    short conversion_cost;
+    #
+    #    /* Initial value for step_table.  */
+    #    void *initial_step_table;
+    #
+    #    /* Recoding quality.  */
+    #    struct recode_quality quality;
+    #
+    #    /* Initialisation handler, to be called before step optimisation.  */
+    #    Recode_init init_routine;
+    #
+    #    /* Transformation handler, for doing the actual recoding work.  */
+    #    Recode_transform transform_routine;
+    #
+    #    /* Default fallback for the step.  Merely to implement `-s' option.  */
+    #    Recode_fallback fallback_routine;
+    #  };
+    #
+    #enum recode_step_type
+    #  {
+    #    RECODE_NO_STEP_TABLE,  /* the step_table field is unused */
+    #    RECODE_BYTE_TO_BYTE,   /* array of 256 bytes */
+    #    RECODE_BYTE_TO_STRING, /* array of 256 strings */
+    #    RECODE_UCS2_TO_BYTE,   /* hash from ucs2 to byte */
+    #    RECODE_UCS2_TO_STRING, /* hash from ucs2 to string */
+    #    RECODE_STRING_TO_UCS2, /* hash from ucs2 to string, reversed */
+    #    RECODE_COMBINE_EXPLODE,        /* raw data for combining or exploding */
+    #    RECODE_COMBINE_STEP,   /* special hash for combining */
+    #    RECODE_EXPLODE_STEP            /* special hash for exploding */
+    #  };
+    #
+    #struct recode_step
+    #  {
+    #    /* Charset before conversion.  */
+    #    RECODE_SYMBOL before;
+    #
+    #    /* Charset after conversion.  */
+    #    RECODE_SYMBOL after;
+    #
+    #    /* Recoding quality.  */
+    #    struct recode_quality quality;
+    #
+    #    /* Type of table.  */
+    #    enum recode_step_type step_type;
+    #
+    #    /* Recoding table.  */
+    #    void *step_table;
+    #
+    #    /* Step specific variables.  */
+    #    void *local;
+    #
+    #    /* Transformation handler, for doing the actual recoding work.  */
+    #    Recode_transform transform_routine;
+    #
+    #    /* Fallback for the step.  */
+    #    Recode_fallback fallback_routine;
+    #
+    #    /* Cleanup handler, to be called after the recoding is done.  */
+    #    Recode_term term_routine;
+    #  };
+    #
+    #struct recode_option_list
+    #  {
+    #    const char *option;
+    #    RECODE_OPTION_LIST next;
+    #  };
+    #
+    #/*------------------------------------------------------------------------.
+    #| A recoding request holds, among other things, a selected path among the |
+    #| available recoding steps, it so represents a kind of recoding plan.     |
+    #`------------------------------------------------------------------------*/
+    #
+    #struct recode_request
+    #  {
+    #    /* A request is always associated with a recoding system.  */
+    #    RECODE_OUTER outer;
+    #
+    #    /* By setting the following flag, the program will echo to stderr the
+    #       sequence of elementary recoding steps needed to achieve the requested
+    #       recoding.  */
+    #    bool verbose_flag : 1;
+    #
+    #    /* In `texte' charset, some countries use double quotes to mark diaeresis,
+    #       while some other prefer colons.  This field contains the diaeresis
+    #       character for `texte' charset.  Nominally set to a double quote, it can
+    #       be forced to a colon.  Those are the only two acceptable values.  */
+    #    char diaeresis_char;
+    #
+    #    /* If producing a recoding table in source form, there will be no actual
+    #       recoding done, and consequently, the optimisation of step sequence can
+    #       be attempted more aggressively.  If the step sequence cannot be reduced
+    #       to a single step, table production will fail.  */
+    #    bool make_header_flag : 1;
+    #
+    #    /* For `latex' charset, it is often convenient to recode the diacritics
+    #       only, while letting other LaTeX code using backslashes unrecoded.  In
+    #       the other charset, one can edit text as well as LaTeX directives.  */
+    #    bool diacritics_only : 1;
+    #
+    #    /* For `ibmpc' charset, characters 176 to 223 are use to draw boxes.  If
+    #       this field is set, while getting out of `ibmpc', ASCII characters are
+    #       selected so to approximate these boxes.  */
+    #    bool ascii_graphics : 1;
+    #
+    #    /* Array stating the sequence of conversions.  */
+    #    RECODE_STEP sequence_array;
+    #    size_t sequence_allocated;
+    #    short sequence_length;
+    #
+    #    /* Internal variables used while scanning request text.  */
+    #    char *work_string;             /* buffer space for generated work strings */
+    #    size_t work_string_length;     /* length of work_string */
+    #    size_t work_string_allocated; /* allocated length of work_string */
+    #    const char *scan_cursor;       /* next character to be seen */
+    #    char *scanned_string;  /* buffer space to scan strings */
+    #  };
+    #
+    #/*--------------------------------------------------------------------.
+    #| A recoding text is either an external file or an in memory buffer.  |
+    #`--------------------------------------------------------------------*/
+    #
+    #/* While the recoding is going on, FILE being non-NULL has precedence over
+    #   BUFFER.  Moreover, if NAME is not NULL at start of recoding, this is
+    #   interpreted as a request for the library to open the named file, either
+    #   in read or write mode, and also to close it afterwards.  Standard input
+    #   or output is denoted by NAME being non-NULL, but otherwise empty.
+    #
+    #   If FILE is NULL in input mode, the in-memory read-only text extends from
+    #   BUFFER to LIMIT.  There is no clue about if the buffer has been allocated
+    #   bigger.  When CURSOR reaches LIMIT, there is no more data to get.  If
+    #   FILE is NULL in output mode, the in-memory text extends from BUFFER to
+    #   CURSOR, but the buffer has been allocated until LIMIT.  When CURSOR
+    #   reaches LIMIT, the buffer should be reallocated bigger, as needed.  */
+    #
+    #struct recode_read_only_text
+    #  {
+    #    const char *name;
+    #    FILE *file;
+    #    const char *buffer;
+    #    const char *cursor;
+    #    const char *limit;
+    #  };
+    #
+    #struct recode_read_write_text
+    #  {
+    #    const char *name;
+    #    FILE *file;
+    #    char *buffer;
+    #    char *cursor;
+    #    char *limit;
+    #  };
+    #
+    #/* Tells how various passes are interconnected.  */
+    #
+    #enum recode_sequence_strategy
+    #  {
+    #    RECODE_STRATEGY_UNDECIDED,     /* sequencing strategy is undecided yet */
+    #    RECODE_SEQUENCE_IN_MEMORY,     /* keep intermediate recodings in memory */
+    #    RECODE_SEQUENCE_WITH_FILES,    /* do not fork, use intermediate files */
+    #    RECODE_SEQUENCE_WITH_PIPE      /* fork processes connected with `pipe(2)' */
+    #  };
+    #
+    #/* Tells how to swap the incoming pair of bytes, while reading UCS-2.  */
+    #
+    #enum recode_swap_input
+    #  {
+    #    RECODE_SWAP_UNDECIDED, /* the text has not been read yet */
+    #    RECODE_SWAP_NO,                /* no need to swap pair of bytes */
+    #    RECODE_SWAP_YES                /* should swap incoming pair of bytes */
+    #  };
+    #
+    #/*--------------------------------------------------------------------------.
+    #| A recoding subtask associates a particular recoding step to a given input |
+    #| text, for producing a corresponding output text.  It also holds error     |
+    #| related statistics for the execution of that step.                        |
+    #`--------------------------------------------------------------------------*/
+    #
+    #struct recode_subtask
+    #  {
+    #    /* Task for which this subtask is an element.  */
+    #    RECODE_TASK task;
+    #
+    #    /* Step being executed by this subtask.  */
+    #    RECODE_CONST_STEP step;
+    #
+    #    /* Current input and output.  */
+    #    struct recode_read_only_text input;
+    #    struct recode_read_write_text output;
+    #
+    #    /* Line count and character count in last line, both zero-based.  */
+    #    unsigned newline_count;
+    #    unsigned character_count;
+    #  };
+    #
+    ##define GOT_CHARACTER(Subtask) \
+    #  ((Subtask)->character_count++)
+    #
+    ##define GOT_NEWLINE(Subtask) \
+    #  ((Subtask)->newline_count++, (Subtask)->character_count = 0)
+    #
+    #/*--------------------------------------------------------------------------.
+    #| A recoding task associates a sequence of steps to a given input text, for |
+    #| producing a corresponding output text.  It holds an array of subtasks.    |
+    #`--------------------------------------------------------------------------*/
+    #
+    #struct recode_task
+    #  {
+    #    /* Associated request.  */
+    #    RECODE_CONST_REQUEST request;
+    #
+    #    /* Initial input and final output.  */
+    #    struct recode_read_only_text input;
+    #    struct recode_read_write_text output;
+    #
+    #    /* Tells how various recoding steps (passes) will be interconnected.  */
+    #    enum recode_sequence_strategy strategy : 3;
+    #
+    #    /* Produce a byte order mark on UCS-2 output, insist for it on input.  */
+    #    bool byte_order_mark : 1;
+    #
+    #    /* The input UCS-2 stream might have bytes swapped (status variable).  */
+    #    enum recode_swap_input swap_input : 3;
+    #
+    #    /* Error processing.  */
+    #    /* -----------------  */
+    #
+    #    /* At this level, there will be failure.  */
+    #    enum recode_error fail_level : 5;
+    #
+    #    /* At this level, task should be interrupted.  */
+    #    enum recode_error abort_level : 5;
+    #
+    #    /* Maximum error level met so far (status variable).  */
+    #    enum recode_error error_so_far : 5;
+    #
+    #    /* Step being executed when error_so_far was last set.  */
+    #    RECODE_CONST_STEP error_at_step;
+    #  };
+    #\f
+    #/* Specialities for some function arguments.  */
+    #
+    #/* For restricting charset lists.  */
+    #
+    #struct recode_known_pair
+    #  {
+    #    unsigned char left;            /* first character in pair */
+    #    unsigned char right;   /* second character in pair */
+    #  };
+    #
+    #/*----------------------.
+    #| Various definitions.  |
+    #`----------------------*/
+    #
+    #typedef unsigned short recode_ucs2;
+    #
+    #/* Double tables are generated as arrays of indices into a pool of strips,
+    #   each strip holds STRIP_SIZE UCS-2 characters.  Some memory is saved by
+    #   not allowing duplicate strips in the pool.  A smaller strip size yields
+    #   more duplicates and so, a smaller pool, but then, tables get longer
+    #   because more strip indices are needed for each table.  It is difficult to
+    #   predict the optimal strip size.  Tests made on 1997-09-22 showed that a
+    #   strip size of 4 needs 27808 bytes total, 8 needs 22656, 16 needs 23584
+    #   and 32 needs 25568, so we decided to stick to a strip size of 8.  Change
+    #   $STRIP_SIZE in `doc/tables.pl' if you change the value here.  */
+    #
+    #/* "Are we speaking slips, strips or bars?" (of gold press'latinum :-) */
+    ##define STRIP_SIZE 8
+    #
+    #/* An struct strip_data is a pointer to a pool of strips, and an array
+    #   of 256/STRIP_SIZE offsets for the start of strips into the pool, each strip
+    #   describes STRIP_SIZE UCS-2 characters.  A missing character in a strip is
+    #   indicated by all 16 bits set.  */
+    #struct strip_data
+    #  {
+    #    const recode_ucs2 *pool;
+    #    const short offset[256 / STRIP_SIZE];
+    #  };
+    #
+    #struct ucs2_to_byte
+    #  {
+    #    recode_ucs2 code;              /* UCS-2 value */
+    #    unsigned char byte;            /* corresponding byte */
+    #  };
+    #
+    #struct ucs2_to_string
+    #  {
+    #    recode_ucs2 code;              /* UCS-2 value */
+    #    unsigned short flags;  /* various flags */
+    #    const char *string;            /* corresponding string */
+    #  };
+    #\f
+    #/* Per module declarations.  */
+    #
+    ##ifdef __cplusplus
+    #extern "C" {
+    ##endif
+    #
+    #/* recode.c.  */
+    #
+    ##define ALLOC_SIZE(Variable, Size, Type) \
+    #  (Variable = (Type *) recode_malloc (outer, (Size)), Variable)
+    #
+    ##define ALLOC(Variable, Count, Type) \
+    #  ALLOC_SIZE (Variable, (Count) * sizeof (Type), Type)
+    #
+    ##define REALLOC(Variable, Count, Type) \
+    #  (Variable = (Type *) recode_realloc (outer, Variable,            \
+    #                                  (Count) * sizeof(Type)), \
+    #   Variable)
+    #
+    #void recode_error PARAMS ((RECODE_OUTER, const char *, ...));
+    #void recode_perror PARAMS ((RECODE_OUTER, const char *, ...));
+    #void *recode_malloc PARAMS ((RECODE_OUTER, size_t));
+    #void *recode_realloc PARAMS ((RECODE_OUTER, void *, size_t));
+    #
+    #unsigned char *invert_table PARAMS ((RECODE_OUTER, const unsigned char *));
+    #bool complete_pairs PARAMS ((RECODE_OUTER, RECODE_STEP,
+    #                        const struct recode_known_pair *, unsigned,
+    #                        bool, bool));
+    #bool transform_byte_to_ucs2 PARAMS ((RECODE_SUBTASK));
+    #bool init_ucs2_to_byte PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST,
+    #                           RECODE_CONST_OPTION_LIST,
+    #                           RECODE_CONST_OPTION_LIST));
+    #bool transform_ucs2_to_byte PARAMS ((RECODE_SUBTASK));
+    #
+    #/* charname.c and fr-charname.c.  */
+    #
+    #const char *ucs2_to_charname PARAMS ((int));
+    #const char *ucs2_to_french_charname PARAMS ((int));
+    #
+    #/* charset.c.  */
+    #
+    #enum alias_find_type
+    #{
+    #  SYMBOL_CREATE_CHARSET,   /* charset as given, create as needed */
+    #  SYMBOL_CREATE_DATA_SURFACE,      /* data surface as given, create as needed */
+    #  SYMBOL_CREATE_TREE_SURFACE,      /* tree surface as given, create as needed */
+    #  ALIAS_FIND_AS_CHARSET,   /* disambiguate only as a charset */
+    #  ALIAS_FIND_AS_SURFACE,   /* disambiguate only as a surface */
+    #  ALIAS_FIND_AS_EITHER             /* disambiguate as a charset or a surface */
+    #};
+    #
+    #int code_to_ucs2 (RECODE_CONST_SYMBOL, unsigned);
+    #bool prepare_for_aliases PARAMS ((RECODE_OUTER));
+    #RECODE_ALIAS declare_alias PARAMS ((RECODE_OUTER,
+    #                                const char *, const char *));
+    #bool declare_implied_surface PARAMS ((RECODE_OUTER, RECODE_ALIAS,
+    #                               RECODE_CONST_SYMBOL));
+    #bool make_argmatch_arrays PARAMS ((RECODE_OUTER));
+    #RECODE_ALIAS find_alias PARAMS ((RECODE_OUTER, const char *,
+    #                              enum alias_find_type));
+    #bool find_and_report_subsets PARAMS ((RECODE_OUTER));
+    #bool decode_known_pairs PARAMS ((RECODE_OUTER, const char *));
+    #
+    #/* combine.c.  */
+    #
+    ##define DONE NOT_A_CHARACTER
+    ##define ELSE BYTE_ORDER_MARK_SWAPPED
+    #
+    #bool init_explode PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST,
+    #                      RECODE_CONST_OPTION_LIST,
+    #                      RECODE_CONST_OPTION_LIST));
+    #bool explode_byte_byte PARAMS ((RECODE_SUBTASK));
+    #bool explode_ucs2_byte PARAMS ((RECODE_SUBTASK));
+    #bool explode_byte_ucs2 PARAMS ((RECODE_SUBTASK));
+    #bool explode_ucs2_ucs2 PARAMS ((RECODE_SUBTASK));
+    #
+    #bool init_combine PARAMS ((RECODE_STEP, RECODE_CONST_REQUEST,
+    #                      RECODE_CONST_OPTION_LIST,
+    #                      RECODE_CONST_OPTION_LIST));
+    #bool combine_byte_byte PARAMS ((RECODE_SUBTASK));
+    #bool combine_ucs2_byte PARAMS ((RECODE_SUBTASK));
+    #bool combine_byte_ucs2 PARAMS ((RECODE_SUBTASK));
+    #bool combine_ucs2_ucs2 PARAMS ((RECODE_SUBTASK));
+    #
+    #/* freeze.c.  */
+    #
+    #void recode_freeze_tables PARAMS ((RECODE_OUTER));
+    #
+    #/* libiconv.c.  */
+    #
+    #bool transform_with_libiconv PARAMS ((RECODE_SUBTASK));
+    #
+    #/* mixed.c.  */
+    #
+    #bool transform_c_source PARAMS ((RECODE_TASK));
+    #bool transform_po_source PARAMS ((RECODE_TASK));
+    #
+    #/* outer.c.  */
+    #
+    #bool reversibility PARAMS ((RECODE_SUBTASK, unsigned));
+    #RECODE_SINGLE declare_single
+    #  PARAMS ((RECODE_OUTER, const char *, const char *,
+    #      struct recode_quality,
+    #      bool (*) (RECODE_STEP, RECODE_CONST_REQUEST,
+    #                RECODE_CONST_OPTION_LIST, RECODE_CONST_OPTION_LIST),
+    #      bool (*) (RECODE_SUBTASK)));
+    #bool declare_libiconv PARAMS ((RECODE_OUTER, const char *));
+    #bool declare_explode_data PARAMS ((RECODE_OUTER, const unsigned short *,
+    #                              const char *, const char *));
+    #bool declare_strip_data PARAMS ((RECODE_OUTER, struct strip_data *,
+    #                            const char *));
+    #
+    #/* pool.c.  */
+    #
+    #extern const recode_ucs2 ucs2_data_pool[];
+    #
+    #/* request.c.  */
+    #
+    #char *edit_sequence PARAMS ((RECODE_REQUEST, bool));
+    #
+    #/* rfc1345.c.  */
+    #
+    #const char *ucs2_to_rfc1345 PARAMS ((recode_ucs2));
+    #
+    #/* task.c.  */
+    #
+    ##if USE_HELPERS
+    #int get_byte_helper PARAMS ((RECODE_SUBTASK));
+    ##endif
+    #void put_byte_helper PARAMS ((int, RECODE_SUBTASK));
+    #bool recode_if_nogo PARAMS ((enum recode_error, RECODE_SUBTASK));
+    #bool transform_byte_to_byte PARAMS ((RECODE_SUBTASK));
+    #bool transform_byte_to_variable PARAMS ((RECODE_SUBTASK));
+    #
+    #/* ucs.c.  */
+    #
+    #/* Replacement character for when correctly formed character has no
+    #   equivalent.  It is not used for ill-formed characters, however.  */
+    ##define REPLACEMENT_CHARACTER 0xFFFD
+    #
+    #/* Device for detecting if bytes are swapped.  This value should appear first
+    #   in UCS-2 files.  */
+    ##define BYTE_ORDER_MARK 0xFEFF
+    ##define BYTE_ORDER_MARK_SWAPPED 0xFFFE
+    #
+    #/* Never an UCS-2 character.  */
+    ##define NOT_A_CHARACTER 0xFFFF
+    #
+    #bool get_ucs2 PARAMS ((unsigned *, RECODE_SUBTASK));
+    #bool get_ucs4 PARAMS ((unsigned *, RECODE_SUBTASK));
+    #bool put_ucs2 PARAMS ((unsigned, RECODE_SUBTASK));
+    #bool put_ucs4 PARAMS ((unsigned, RECODE_SUBTASK));
+    #
+    ##ifdef __cplusplus
+    #}
+    ##endif
+    #\f
+    #/* Global macros specifically for `recode'.  */
+    #
+    #/* Giving a name to the ASCII character assigned to position 0.  */
+    ##define NUL '\0'
+    #
+    ##if USE_HELPERS
+    #
+    ## define get_byte(Subtask) \
+    #    get_byte_helper ((Subtask))
+    #
+    ## define put_byte(Byte, Subtask) \
+    #    put_byte_helper ((Byte), (Subtask))
+    #
+    ##else /* not USE_HELPERS */
+    #
+    ## define get_byte(Subtask) \
+    #    ((Subtask)->input.file                                 \
+    #     ? getc ((Subtask)->input.file)                                \
+    #     : (Subtask)->input.cursor == (Subtask)->input.limit   \
+    #     ? EOF                                                 \
+    #     : (unsigned char) *(Subtask)->input.cursor++)
+    #
+    ## define put_byte(Byte, Subtask) \
+    #    ((Subtask)->output.file                                        \
+    #     ? (putc ((char) (Byte), (Subtask)->output.file), 0)   \
+    #     : (Subtask)->output.cursor == (Subtask)->output.limit \
+    #     ? (put_byte_helper ((int) (Byte), (Subtask)), 0)              \
+    #     : (*(Subtask)->output.cursor++ = (Byte), 0))
+    #
+    ##endif /* not USE_HELPERS */
+    #
+    ##ifdef FLEX_SCANNER
+    #
+    ## if !INLINE_HARDER
+    #
+    ##  undef put_byte
+    ##  define put_byte(Byte, Subtask) \
+    #     put_byte_helper ((Byte), (Subtask))
+    #
+    ## endif
+    #
+    ## define PUT_NON_DIACRITIC_BYTE(Byte, Subtask) \
+    #    if (request->diacritics_only)                          \
+    #      ECHO;                                                        \
+    #    else                                                   \
+    #      put_byte ((Byte), (Subtask))
+    #
+    #/* ECHO may not have a (Subtask) argument, because some ECHO without argument
+    #   is generated by Flex -- yet Vern tells me it won't happen if I inhibit
+    #   the rule about default copying.  Happily enough, within Flex, Subtask is
+    #   `subtask' quite systematically, so it may be used as a constant, here.  */
+    ## define ECHO \
+    #    do {                                                   \
+    #      const char *cursor = yytext; int counter = yyleng;   \
+    #      for (; counter > 0; cursor++, counter--)                     \
+    #   put_byte (*cursor, subtask);                            \
+    #    } while (false)
+    #
+    ##endif /* FLEX_SCANNER */
+
+class error(Exception):
+    pass
+
+# Description of list formats.
+
+NO_FORMAT = RECODE_NO_FORMAT
+DECIMAL_FORMAT = RECODE_DECIMAL_FORMAT
+OCTAL_FORMAT = RECODE_OCTAL_FORMAT
+HEXADECIMAL_FORMAT = RECODE_HEXADECIMAL_FORMAT
+FULL_FORMAT = RECODE_FULL_FORMAT
+
+# Description of programming languages.
+
+NO_LANGUAGE = RECODE_NO_LANGUAGE
+LANGUAGE_C = RECODE_LANGUAGE_C
+LANGUAGE_PERL = RECODE_LANGUAGE_PERL
+
+# Recode library at OUTER level.
+
+cdef class Outer:
+    cdef RECODE_OUTER outer
+
+    def __init__(self):
+        self.outer = recode_new_outer(true)
+
+    def __dealloc__(self):
+        recode_delete_outer(self.outer)
+
+    def all_symbols(self):
+        ok = list_all_symbols(self.outer, NULL)
+        if not ok:
+            raise error
+
+    def concise_charset(self, format=NO_FORMAT):
+        ok = list_concise_charset(self.outer, NULL, format)
+        if not ok:
+            raise error
+
+    def full_charset(self):
+        ok = list_full_charset(self.outer, NULL)
+        if not ok:
+            raise error
+
+# Recode library at REQUEST level.
+
+cdef class Request:
+    cdef RECODE_REQUEST request
+
+    def __init__(self, Outer outer):
+        self.request = recode_new_request(outer.outer)
+
+    def __dealloc__(self):
+        recode_delete_request(self.request)
+
+    def scan_request(self, char *text):
+        ok = recode_scan_request(self.request, text)
+        if not ok:
+            raise error
+
+    def format_table(self, int language, char *charset):
+        ok = recode_format_table(
+                self.request, <recode_programming_language> language, charset)
+        if not ok:
+            raise error
+
+    def string(self, char *text):
+        cdef char *result
+        result = recode_string(self.request, text)
+        if result is NULL:
+            raise error
+        return result
+
+    #bool recode_string_to_buffer(
+    #        RECODE_CONST_REQUEST, char *, char **, size_t *, size_t *)
+    #bool recode_string_to_file(
+    #        RECODE_CONST_REQUEST, char *, FILE *)
+    #bool recode_buffer_to_buffer(
+    #        RECODE_CONST_REQUEST, char *, size_t, char **, size_t *, size_t *)
+    #bool recode_buffer_to_file(
+    #        RECODE_CONST_REQUEST, char *, size_t, FILE *)
+    #bool recode_file_to_buffer(
+    #        RECODE_CONST_REQUEST, FILE *, char **, size_t *, size_t *)
+    #bool recode_file_to_file(RECODE_CONST_REQUEST, FILE *, FILE *)
+
+# Lazy, all in one call.
+
+global_outer = Outer()
+
+def recode(char *text, char *string):
+    request = Request(global_outer)
+    request.scan_request(text)
+    return request.string(string)
diff --git a/python/setup.py b/python/setup.py
new file mode 100644 (file)
index 0000000..eb38dd2
--- /dev/null
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+from distutils.core import setup
+from Pyrex.Distutils import build_ext, Extension
+
+setup(name='Recode', version='3.7',
+      description="Conversion between charsets, surfaces and structures.",
+      author='François Pinard',
+      author_email='pinard@iro.umontreal.ca',
+      url='http://recode.progiciels-bpi.ca',
+      ext_modules=[Extension("Recode", ["Recode.pyx"])],
+      cmdclass={'build_ext': build_ext})
index 294e084ae4e948590c5b96cf976b9affe6a186df..96085ded49634ecc0f63ac4b30c72ea024471fb2 100644 (file)
@@ -60,14 +60,14 @@ DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
        $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog \
        ansi2knr.1 ansi2knr.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/malloc.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -135,7 +135,6 @@ ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
index c59a015ade3c53215de77560f82d0b70e6bdd837..b367fe104c69f5242f167c0a7a7aa39a2e017f96 100644 (file)
@@ -1,3 +1,21 @@
+2008-02-22  François Pinard  <pinard@iro.umontreal.ca>
+
+       Swithching from Autotest to Pytest.
+       * NOTES, pytest, common.py: New files.
+       * atgeneral.m4, suite.m4, testsuite: Deleted.
+       * t21_names.py, t25_subsets.py: Rewrite of names.m4.
+       * t22_lists.py: Rewrite of lists.m4.
+       * t30_base64.py: Rewrite of base64.m4.
+       * t30_dumps.py: Rewrite of dumps.m4 and dumps-data.
+       * t30_quoted.py: Rewrite of quoted.m4 and quoted-data.
+       * t40_african.py: Rewrite of african.m4.
+       * t40_combine.py: Rewrite of combine.m4.
+       * t40_testdump.py: Rewrite of testdump.m4.
+       * t40_utf7.py: Rewrite of utf7.m4 and utf7-data.
+       * t40_utf8.py: Rewrite of utf8.m4.
+       * t60_methods.py: Rewrite of methods.m4.
+       * Makefile: Adjusted.
+
 2005-03-06  François Pinard  <pinard@iro.umontreal.ca>
 
        * ChangeLog: Converted to UTF-8.
@@ -10,7 +28,7 @@
 2000-08-18  François Pinard  <pinard@iro.umontreal.ca>
 
        * names.m4: Adjusted for XML-standalone.
-\f
+
 2000-06-28  François Pinard  <pinard@iro.umontreal.ca>
 
        * testdump.m4: New name for debug.m4.
index 68d4bc58bf24a93fd50c6b3c9935becad1dee69f..b3adfbf812e910d2ccdaaa24fbdbc7fb5c7e1a30 100644 (file)
@@ -22,28 +22,13 @@ AUTOMAKE_OPTIONS = gnits
 SUITE = african.m4 base64.m4 combine.m4 dumps.m4 lists.m4 methods.m4 \
 names.m4 quoted.m4 testdump.m4 utf7.m4 utf8.m4
 
-EXTRA_DIST = atgeneral.m4 suite.m4 testsuite $(SUITE) \
-bigauto.py dumps-data quoted-data utf7-data
+EXTRA_DIST = common.py $(SUITE) bigauto.py
 
 PYTHON = python
 
-all-local: atconfig testsuite
-
-# I have been told that the `libtool' bug who warranted the following
-# diagnostic has been corrected by now, so I silenced it out of `check-local'.
-#      @if test -f $(libdir)/librecode.so; then \
-#        echo; \
-#        echo "WARNING: A recode library is already installed.  Sadly, it"; \
-#        echo "         _might_ interfere with checking.  You might want to"; \
-#        echo "         delete it first, or rename it out of the way."; \
-#        echo; \
-#      fi
-check-local: atconfig testsuite
-       $(SHELL) $(srcdir)/testsuite
-
-$(srcdir)/testsuite: atgeneral.m4 suite.m4 $(SUITE)
-       m4 -I $(srcdir) atgeneral.m4 suite.m4 | cat -s > $@-tmp
-       mv $@-tmp $@
+check-local:
+       PATH=../src:$$PATH PYTHONPATH=$(srcdir) \
+         $(PYTHON) $(srcdir)/pytest $(srcdir)/t*.py
 
 bigtest: warning
        PATH=../src:$$PATH $(PYTHON) $(srcdir)/bigauto.py
@@ -52,10 +37,9 @@ bigtest-strict: warning
        PATH=../src:$$PATH $(PYTHON) $(srcdir)/bigauto.py -s
 
 warning:
-       echo 1>&2 '==============================================='
-       echo 1>&2 "The \`bigauto' test may take hours.  Be patient."
-       echo 1>&2 '==============================================='
+       @echo 1>&2 '==============================================='
+       @echo 1>&2 "The \`bigauto' test may take hours.  Be patient."
+       @echo 1>&2 '==============================================='
 
 clean-local:
-       rm -f at-check-line debug-*.sh stderr stdout
        rm -f input output big-s-off.res big-s-on.res
index a28d9d64823ae70cfb2874ac3cf60eb3ece2679b..4eff14eb2ac80467846d9eb0b0473db663451562 100644 (file)
@@ -53,14 +53,14 @@ host_triplet = @host@
 subdir = tests
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/atconfig.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
-       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
-       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/malloc.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc21.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -73,7 +73,6 @@ ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
 AMTAR = @AMTAR@
 AR = @AR@
-AT_TESTPATH = @AT_TESTPATH@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -201,9 +200,7 @@ AUTOMAKE_OPTIONS = gnits
 SUITE = african.m4 base64.m4 combine.m4 dumps.m4 lists.m4 methods.m4 \
 names.m4 quoted.m4 testdump.m4 utf7.m4 utf8.m4
 
-EXTRA_DIST = atgeneral.m4 suite.m4 testsuite $(SUITE) \
-bigauto.py dumps-data quoted-data utf7-data
-
+EXTRA_DIST = common.py $(SUITE) bigauto.py
 PYTHON = python
 all: all-am
 
@@ -279,7 +276,7 @@ distdir: $(DISTFILES)
 check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) check-local
 check: check-am
-all-am: Makefile all-local
+all-am: Makefile
 installdirs:
 install: install-am
 install-exec: install-exec-am
@@ -361,36 +358,22 @@ uninstall-am:
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am all-local check check-am check-local clean \
-       clean-generic clean-libtool clean-local distclean \
-       distclean-generic distclean-libtool distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-
-all-local: atconfig testsuite
-
-# I have been told that the `libtool' bug who warranted the following
-# diagnostic has been corrected by now, so I silenced it out of `check-local'.
-#      @if test -f $(libdir)/librecode.so; then \
-#        echo; \
-#        echo "WARNING: A recode library is already installed.  Sadly, it"; \
-#        echo "         _might_ interfere with checking.  You might want to"; \
-#        echo "         delete it first, or rename it out of the way."; \
-#        echo; \
-#      fi
-check-local: atconfig testsuite
-       $(SHELL) $(srcdir)/testsuite
-
-$(srcdir)/testsuite: atgeneral.m4 suite.m4 $(SUITE)
-       m4 -I $(srcdir) atgeneral.m4 suite.m4 | cat -s > $@-tmp
-       mv $@-tmp $@
+.PHONY: all all-am check check-am check-local clean clean-generic \
+       clean-libtool clean-local distclean distclean-generic \
+       distclean-libtool distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       uninstall uninstall-am
+
+
+check-local:
+       PATH=../src:$$PATH PYTHONPATH=$(srcdir) \
+         $(PYTHON) $(srcdir)/pytest $(srcdir)/t*.py
 
 bigtest: warning
        PATH=../src:$$PATH $(PYTHON) $(srcdir)/bigauto.py
@@ -399,12 +382,11 @@ bigtest-strict: warning
        PATH=../src:$$PATH $(PYTHON) $(srcdir)/bigauto.py -s
 
 warning:
-       echo 1>&2 '==============================================='
-       echo 1>&2 "The \`bigauto' test may take hours.  Be patient."
-       echo 1>&2 '==============================================='
+       @echo 1>&2 '==============================================='
+       @echo 1>&2 "The \`bigauto' test may take hours.  Be patient."
+       @echo 1>&2 '==============================================='
 
 clean-local:
-       rm -f at-check-line debug-*.sh stderr stdout
        rm -f input output big-s-off.res big-s-on.res
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/NOTES b/tests/NOTES
new file mode 100644 (file)
index 0000000..93cdead
--- /dev/null
@@ -0,0 +1,21 @@
+Validation suite for the Free `recode' program and library.
+Copyright © 1998, 1999, 2000, 2008 Progiciels Bourbeau-Pinard inc.
+François Pinard <pinard@iro.umontreal.ca>, 1998.
+
+t20 - Charset listings.
+
+t30 - Individual surfaces.
+Missing tests for endline and permut.
+
+t40 - Individual charsets.
+Missing tests for atarist, next, ebcdic, tables, applemac, ibmpc, iconqnx,
+cdcnos, bangbang, ascii, flat, html, latex, texinfo, texte and utf16.
+
+t60 - Inter-step mechanics.
+
+t80 - Big auto tests.
+echo
+echo "WARNING: The \`bigauto' test will be skipped, as it takes a long time to"
+echo "         complete.  To launch it, get into the build \`tests/' directory"
+echo "         and do either \`make bigtest' or \`make bigtest-strict'.  The"
+echo "         later forces \`-s' on all \`recode' calls."
diff --git a/tests/atconfig.in b/tests/atconfig.in
deleted file mode 100644 (file)
index 032ef37..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-# @configure_input@                                    -*- shell-script -*-
-# Configurable variable values for building test suites.
-# Copyright © 1998, 1999 Progiciels Bourbeau-Pinard inc.
-# François Pinard <pinard@iro.umontreal.ca>, 1998.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# This script is part of Autotest.  I, François Pinard, the author of
-# Autotest, give unlimited permission to copy, distribute and modify
-# the testing scripts that are the output of that Autotest script.
-# You need not follow the terms of the GNU General Public License when
-# using or distributing such scripts, even though portions of the text
-# of Autotest appear in them.  The GNU General Public License (GPL) does
-# govern all other use of the material that constitutes the Autotest.
-#
-# Certain portions of the Autotest source text are designed to be copied
-# (in certain cases, depending on the input) into the output of
-# Autotest.  We call these the "data" portions.  The rest of the Autotest
-# source text consists of comments plus executable code that decides which
-# of the data portions to output in any given case.  We call these
-# comments and executable code the "non-data" portions.  Autotest never
-# copies any of the non-data portions into its output.
-#
-# This special exception to the GPL applies to versions of Autotest
-# released by the Free Software Foundation.  When you make and
-# distribute a modified version of Autotest, you may extend this special
-# exception to the GPL to apply to your modified version as well, *unless*
-# your modified version has the potential to copy into its output some
-# of the text that was the non-data portion of the version that you started
-# with.  (In other words, unless your change moves or copies text from
-# the non-data portions to the data portions.)  If your modification has
-# such potential, you must delete any notice of this special exception
-# to the GPL from your modified version.
-
-# Snippet (1
-# This debugging script has been automatically generated from `make check'.
-# Call it with `--help' to get a quick usage summary.
-
-at_package=@PACKAGE@
-at_version=@VERSION@
-# Snippet )1
-# Snippet (2
-at_n=@ECHO_N@
-at_c='@ECHO_C@'
-test -f atlocal && . ./atlocal
-
-# LC_MESSAGES is always shadowed by LC_ALL.  Here are the only cases:
-# - GNU:       LANGUAGE -> LC_ALL -> LC_MESSAGES -> LANG
-# - POSIX:     LC_ALL -> LC_MESSAGES -> LANG
-# - XPG4:      LC_ALL -> LANG
-# - SysV/XPG2: LANG
-export LANGUAGE; LANGUAGE=C
-export LANG; LANG=C
-export LC_ALL; LC_ALL=C
-
-srcdir=@srcdir@
-top_srcdir=@top_srcdir@
-# Use absolute file notations, as the test might change directories.
-at_srcdir=`cd @srcdir@ && pwd`
-at_top_srcdir=`cd @top_srcdir@ && pwd`
-if test -n "@AT_TESTPATH@"; then
-  export PATH; PATH=`pwd`:`cd @AT_TESTPATH@ && pwd`:$PATH
-else
-  export PATH; PATH=`pwd`:$PATH
-fi
-# Snippet )2
diff --git a/tests/atgeneral.m4 b/tests/atgeneral.m4
deleted file mode 100644 (file)
index 44aa5e5..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-divert(-1)                                             -*- Autoconf -*-
-# `m4' macros used in building test suites.
-# Copyright © 1998, 1999, 2000 Progiciels Bourbeau-Pinard inc.
-# François Pinard <pinard@iro.umontreal.ca>, 1998.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# This script is part of Autotest.  I, François Pinard, the author of
-# Autotest, give unlimited permission to copy, distribute and modify
-# the testing scripts that are the output of that Autotest script.
-# You need not follow the terms of the GNU General Public License when
-# using or distributing such scripts, even though portions of the text
-# of Autotest appear in them.  The GNU General Public License (GPL) does
-# govern all other use of the material that constitutes the Autotest.
-#
-# Certain portions of the Autotest source text are designed to be copied
-# (in certain cases, depending on the input) into the output of
-# Autotest.  We call these the "data" portions.  The rest of the Autotest
-# source text consists of comments plus executable code that decides which
-# of the data portions to output in any given case.  We call these
-# comments and executable code the "non-data" portions.  Autotest never
-# copies any of the non-data portions into its output.
-#
-# This special exception to the GPL applies to versions of Autotest
-# released by the Free Software Foundation.  When you make and
-# distribute a modified version of Autotest, you may extend this special
-# exception to the GPL to apply to your modified version as well, *unless*
-# your modified version has the potential to copy into its output some
-# of the text that was the non-data portion of the version that you started
-# with.  (In other words, unless your change moves or copies text from
-# the non-data portions to the data portions.)  If your modification has
-# such potential, you must delete any notice of this special exception
-# to the GPL from your modified version.
-
-changequote([, ])
-
-define(AT_DEFINE, defn([define]))
-define(AT_EVAL, defn([eval]))
-define(AT_FORMAT, defn([format]))
-define(AT_INCLUDE, defn([include]))
-define(AT_SHIFT, defn([shift]))
-define(AT_UNDEFINE, defn([undefine]))
-
-undefine([define])
-undefine([eval])
-undefine([format])
-undefine([include])
-undefine([shift])
-undefine([undefine])
-
-# AT_CASE(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT)
-
-# m4 equivalent of
-# switch (SWITCH)
-# {
-#   case VAL1:
-#     IF-VAL1;
-#     break;
-#   case VAL2:
-#     IF-VAL2;
-#     break;
-#   ...
-#   default:
-#     DEFAULT;
-#     break;
-# }.
-# All the values are optional, and the macro is robust to active
-# symbols properly quoted.
-AT_DEFINE(AT_CASE,
-[ifelse([$#], 0, [],
-       [$#], 1, [],
-       [$#], 2, [$2],
-        [$1], [$2], [$3],
-        [AT_CASE([$1], AT_SHIFT(AT_SHIFT(AT_SHIFT($@))))])])
-
-
-# Use of diversions:
-#  0 - overall initialization; for each test group: skipping and cleanups;
-#  1 - for each test group: proper code, to reinsert between cleanups;
-#  2 - overall wrap up: generation of debugging scripts and statistics.
-
-
-# AT_LINE
-
-# Return the current file sans directory, a colon, and the current line.
-
-AT_DEFINE(AT_LINE,
-[patsubst(__file__, ^.*/\(.*\), \1):__line__])
-
-# AT_INIT(PROGRAM)
-
-# Begin testing suite, using PROGRAM to check version.  The search path
-# should be already preset so the proper executable will be selected.
-
-AT_DEFINE(AT_INIT,
-[AT_DEFINE(AT_ordinal, 0)
-. ./atconfig
-# Snippet (3
-
-at_usage="Usage: [$]0 [OPTION]...
-
-  -e  Abort the full suite and inhibit normal clean up if a test fails
-  -n  Do not redirect stdout and stderr and do not test their contents
-  -s  Inhibit verbosity while generating or executing debugging scripts
-  -v  Force more detailed output, default for debugging scripts unless -s
-  -x  Have the shell to trace command execution; also implies option -n"
-
-while test [$][#] -gt 0; do
-  case "[$]1" in
-    --help) echo "$at_usage"; exit 0 ;;
-    --version) echo "[$]0 ($at_package) $at_version"; exit 0 ;;
-    -e) at_stop_on_error=1; shift ;;
-    -n) at_no_redirs=1; shift ;;
-    -s) at_verbose=; at_silent=1; shift ;;
-    -v) at_verbose=1; at_silent=; shift ;;
-    -x) at_traceon='set -vx'; at_traceoff='set +vx'; at_no_redirs=1; shift ;;
-    *) echo 1>&2 "Try \`[$]0 --help' for more information."; exit 1 ;;
-  esac
-done
-
-# In the testing suite, we only want to know if the test succeeded or failed.
-# But in debugging scripts, we want more information, so we prefer `diff -u'
-# to the silent `cmp', even if it may happen that we compare binary files.
-# Option `-u' might be less portable, so either change it or use GNU `diff'.
-
-if test -n "$at_verbose"; then
-  at_diff='diff -u'
-else
-  if test -n "$COMSPEC$ComSpec"; then
-    at_diff='diff -u'
-  else
-    at_diff='cmp -s'
-  fi
-fi
-
-# Each generated debugging script, containing a single test group, cleans
-# up files at the beginning only, not at the end.  This is so we can repeat
-# the script many times and browse left over files.  To cope with such left
-# over files, the full test suite cleans up both before and after test groups.
-# Snippet )3
-
-if test -n "`$1 --version | sed -n s/$at_package.*$at_version/OK/p`"; then
-  at_banner="Testing suite for $at_package, version $at_version"
-  at_dashes=`echo $at_banner | sed s/./=/g`
-  echo "$at_dashes"
-  echo "$at_banner"
-  echo "$at_dashes"
-else
-  echo '======================================================='
-  echo 'ERROR: Not using the proper version, no tests performed'
-  echo '======================================================='
-  exit 1
-fi
-
-# Remove any debugging script resulting from a previous run.
-rm -f debug-*.sh
-
-at_failed_list=
-at_ignore_count=0
-divert(2)[]dnl
-
-# Wrap up the testing suite with summary statistics.
-
-rm -f at-check-line
-at_fail_count=0
-if test -z "$at_failed_list"; then
-  if test "$at_ignore_count" = 0; then
-    at_banner="All $at_test_count tests were successful"
-  else
-    at_banner="All $at_test_count tests were successful ($at_ignore_count ignored)"
-  fi
-else
-  echo
-  echo $at_n "Writing \`debug-NN.sh' scripts, NN =$at_c"
-  for at_group in $at_failed_list; do
-    echo $at_n " $at_group$at_c"
-    ( echo '#!/bin/sh'
-      sed -n '/^[#] Snippet (1/,/^[#] Snippet )1/p' atconfig
-      test -z "$at_silent" && echo 'at_verbose=1'
-      sed -n '/^[#] Snippet (2/,/^[#] Snippet )2/p' atconfig
-      sed -n "/^[#] Snippet (3/,/^[#] Snippet )3/p" [$]0
-      sed -n "/^[#] Snippet (c$at_group(/,/^[#] Snippet )c$at_group)/p" [$]0
-      at_desc="`sed -n \
-        '/^[#] Snippet (d'$at_group'(/,/^[#] Snippet )d'$at_group')/p' [$]0 \
-        | sed -n '2s/^[#] //p'`"
-      echo 'if test -n "$at_verbose"; then'
-      echo '  at_banner="[$]0: '$at_desc'"'
-      echo '  at_dashes=`echo $at_banner | sed s/./=/g`'
-      echo '  echo'
-      echo '  echo "$at_dashes"'
-      echo '  echo "$at_banner"'
-      echo '  echo "$at_dashes"'
-      echo 'fi'
-      echo
-      sed -n "/^[#] Snippet (d$at_group(/,/^[#] Snippet )d$at_group)/p" [$]0
-      sed -n "/^[#] Snippet (s$at_group(/,/^[#] Snippet )s$at_group)/p" [$]0
-      echo 'exit 0'
-    ) | grep -v '^[#] Snippet' > debug-$at_group.sh
-    chmod +x debug-$at_group.sh
-    at_fail_count=`expr $at_fail_count + 1`
-  done
-  echo ', done'
-  if test -n "$at_stop_on_error"; then
-    at_banner='ERROR: One of the tests failed, inhibiting subsequent tests'
-  else
-    at_banner="ERROR: Suite unsuccessful, $at_fail_count of $at_test_count tests failed"
-  fi
-fi
-at_dashes=`echo $at_banner | sed s/./=/g`
-echo
-echo "$at_dashes"
-echo "$at_banner"
-echo "$at_dashes"
-
-if test -n "$at_failed_list"; then
-  if test -z "$at_silent"; then
-    echo
-    echo 'When reporting failed tests to maintainers, do not merely list test'
-    echo 'numbers, as the numbering changes between releases and pretests.'
-    echo 'Be careful to give at least all the information you got about them.'
-    echo 'You may investigate any problem if you feel able to do so, in which'
-    echo 'case the generated debugging scripts provide good starting points.'
-    echo "Go on and modify them at will.  \`./debug-NN --help' gives usage"
-    echo 'information.  Now, failed tests will be executed again, verbosely.'
-    for at_group in $at_failed_list; do
-      ./debug-$at_group.sh
-    done
-  fi
-  exit 1
-fi
-
-exit 0
-divert[]dnl
-])
-
-# AT_SETUP(DESCRIPTION)
-
-# Start a group of related tests, all to be executed in the same subshell.
-# The group is testing what DESCRIPTION says.
-
-AT_DEFINE(AT_SETUP,
-[AT_DEFINE([AT_ordinal], AT_EVAL(AT_ordinal + 1))
-pushdef([AT_group_description], [$1])
-pushdef([AT_data_files], )
-pushdef([AT_data_expout], )
-pushdef([AT_data_experr], )
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-divert(1)[]dnl
-  echo AT_LINE > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing AT_group_description'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "substr(AT_ordinal. $srcdir/AT_LINE                            , 0, 30)[]$at_c"
-  if test -z "$at_skip_mode"; then
-    (
-[#] Snippet (d[]AT_ordinal[](
-[#] Testing AT_group_description
-[#] Snippet )d[]AT_ordinal[])
-[#] Snippet (s[]AT_ordinal[](
-[#] starting from `AT_LINE'.
-$at_traceon
-])
-
-
-# AT_CLEANUP(FILES)
-
-# Complete a group of related tests, recursively remove those FILES
-# created within the test.  There is no need to list stdout, stderr,
-# nor files created with AT_DATA.
-
-AT_DEFINE(AT_CLEANUP,
-$at_traceoff
-[[#] Snippet )s[]AT_ordinal[])
-    )
-    case [$]? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list AT_ordinal"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=AT_ordinal
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-divert(0)[]dnl
-[#] Snippet (c[]AT_ordinal[](
-
-rm ifelse([AT_data_files$1], , [-f], [-rf[]AT_data_files[]ifelse($1, , , [ $1])]) stdout stderr[]AT_data_expout[]AT_data_experr
-[#] Snippet )c[]AT_ordinal[])
-undivert(1)[]dnl
-    rm ifelse([AT_data_files$1], , [-f], [-rf[]AT_data_files[]ifelse($1, , , [ $1])]) stdout stderr[]AT_data_expout[]AT_data_experr
-  fi
-fi
-popdef([AT_data_experr])
-popdef([AT_data_expout])
-popdef([AT_data_files])
-popdef([AT_group_description])])
-
-
-# AT_DATA(FILE, CONTENTS)
-
-# Initialize an input data FILE with given CONTENTS, which should end with
-# an end of line.
-# This macro is not robust to active symbols in CONTENTS *on purpose*.
-# If you don't want CONTENT to be evaluated, quote it twice.
-
-AT_DEFINE(AT_DATA,
-[AT_DEFINE([AT_data_files], AT_data_files[ ]$1)
-cat > $1 <<'EOF'
-$2[]EOF
-])
-
-
-# AT_CHECK(COMMANDS, [STATUS], STDOUT, STDERR)
-
-# Execute a test by performing given shell COMMANDS.  These commands
-# should normally exit with STATUS, while producing expected STDOUT and
-# STDERR contents.  The special word `expout' for STDOUT means that file
-# `expout' contents has been set to the expected stdout.  The special word
-# `experr' for STDERR means that file `experr' contents has been set to
-# the expected stderr.
-# STATUS is not checked if it is empty.
-# STDOUT and STDERR can be the special value `ignore', in which case
-# their content is not checked.
-
-AT_DEFINE(AT_CHECK,
-[$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/AT_LINE: testing..."
-echo AT_LINE > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-$1
-ifelse([$2],,,
-[at_status=$?
-if test $at_status != $2; then
-dnl Maybe there was an important message to read before it died.
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-dnl Exit with the same code, at least to preserve 77.
-  exit $at_status
-fi
-])dnl
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  AT_CASE([$3],
-          ignore, [test -n "$at_verbose" && cat stdout;:],
-          expout, [AT_DEFINE([AT_data_expout], [ expout])dnl
-$at_diff expout stdout || exit 1],
-          [], [$at_diff /dev/null stdout || exit 1],
-          [echo $at_n "patsubst([$3], [\([\"`$]\)], \\\1)$at_c" | $at_diff - stdout || exit 1])
-  AT_CASE([$4],
-          ignore, [test -n "$at_verbose" && cat stderr;:],
-          experr, [AT_DEFINE([AT_data_experr], [ experr])dnl
-$at_diff experr stderr || exit 1],
-          [], [$at_diff /dev/null stderr || exit 1],
-          [echo $at_n "patsubst([$4], [\([\"`$]\)], \\\1)$at_c" | $at_diff - stderr || exit 1])
-fi
-$at_traceon
-])
-
-divert(0)dnl
diff --git a/tests/base64.m4 b/tests/base64.m4
deleted file mode 100644 (file)
index 62f4cb6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#                                                      -*- shell-script -*-
-
-AT_SETUP(single lines to Base64)
-dnl      ----------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../64 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[Cg==
-YQo=
-YWIK
-YWJjCg==
-YWJjZAo=
-YWJjZGVmZ2hpCg==
-YWJjZGVmZ2hpamtsbW5vcHFycwo=
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkMK
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNCg==
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWVwo=
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
-NTYK
-])
-
-AT_CLEANUP()
-
-AT_SETUP(block of lines to Base64)
-dnl      ------------------------
-
-AT_CHECK(
-[recode /../64 < $at_srcdir/dumps-data
-], 0,
-[CmEKYWIKYWJjCmFiY2QKYWJjZGVmZ2hpCmFiY2RlZmdoaWprbG1ub3BxcnMKYWJjZGVmZ2hpamts
-bW5vcHFyc3R1dnd6eXpBQkMKYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xN
-CmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3enl6QUJDREVGR0hJSktMTU5PUFFSU1RVVlcKYWJjZGVm
-Z2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTYK
-])
-
-AT_CLEANUP()
-
-AT_SETUP(single lines to Base64 and back)
-dnl      -------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../64 output
-  recode /64../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Base64 and back)
-dnl      ---------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../64 output
-recode /64../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
diff --git a/tests/combine.m4 b/tests/combine.m4
deleted file mode 100644 (file)
index 4636ba6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#                                                      -*- shell-script -*-
-
-AT_SETUP(that combine does not crash)
-dnl      ---------------------------
-
-AT_CHECK(recode co..l1 < /dev/null, 0)
-
-AT_CLEANUP()
diff --git a/tests/common.py b/tests/common.py
new file mode 100644 (file)
index 0000000..cb44a9f
--- /dev/null
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+
+__metaclass__ = type
+import os
+from __main__ import SkipTest, raises
+
+try:
+    import Recode
+except ImportError:
+    # The Python API has not been installed.
+    Recode = None
+
+class Run(dict):
+
+    def __getattr__(self, attribute):
+        return self[attribute]
+
+    def __setattr__(self, attribute, value):
+        self[attribute] = value
+
+run = Run()
+
+def external(flag):
+    run.external = flag
+
+def request(text):
+    run.request = text
+
+# Functions only meant to be imported into real testing modules, where
+# pytest is meant to find and use them.
+
+def setup_module(module):
+    for variable in ('LANG', 'LANGUAGE',
+                     'LC_ALL', 'LC_MESSAGES', 'LC_COLLATE'):
+        if variable in os.environ:
+            del os.environ[variable]
+    run.external = Recode is None
+    import tempfile
+    run.work = tempfile.mktemp()
+
+def teardown_module(module):
+    if os.path.exists(run.work):
+        os.remove(run.work)
+
+# Useful functions for various test modules.
+
+def assert_or_diff(output, expected):
+    if output != expected:
+        import difflib
+        diff = difflib.ndiff(output.splitlines(True),
+                             expected.splitlines(True))
+        import sys
+        sys.stdout.write(''.join(diff))
+        assert False, (len(output), len(expected))
+
+def external_output(command):
+    return os.popen(command.replace('$R', 'recode'), 'rb').read()
+
+def recode_output(input):
+    if run.external:
+        file(run.work, 'wb').write(input)
+        return external_output('$R %s < %s' % (run.request, run.work))
+    if Recode is None:
+        raise SkipTest
+    return Recode.recode(run.request, input)
+
+def recode_back_output(input):
+    before, after = run.request.split('..')
+    if run.external:
+        file(run.work, 'wb').write(input)
+        external_output('$R %s %s' % (run.request, run.work))
+        return external_output('$R %s..%s < %s' % (after, before, run.work))
+    if Recode is None:
+        raise SkipTest
+    temp = Recode.recode(run.request, input)
+    return Recode.recode('%s..%s' % (after, before), temp)
+
+def validate(input, expected):
+    output = recode_output(input)
+    assert_or_diff(output, expected)
+
+def validate_back(input):
+    output = recode_back_output(input)
+    assert_or_diff(output, input)
diff --git a/tests/dumps-data b/tests/dumps-data
deleted file mode 100644 (file)
index 027b916..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-a
-ab
-abc
-abcd
-abcdefghi
-abcdefghijklmnopqrs
-abcdefghijklmnopqrstuvwzyzABC
-abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLM
-abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVW
-abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456
diff --git a/tests/methods.m4 b/tests/methods.m4
deleted file mode 100644 (file)
index 6882d91..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#                                                      -*- shell-script -*-
-
-AT_DEFINE(TEST_METHOD,
-[AT_SETUP($1)
-
-AT_CHECK(
-[set -e
-ifelse($6, filter,
-[recode --quiet --force --sequence=$5 < $2 $3..$4 \
-| recode --quiet --force --sequence=$5 $4..$3 > data],
-$6, squash,
-[cp $2 data
-chmod +w data
-recode --quiet --force --sequence=$5 $3..$4 data
-recode --quiet --force --sequence=$5 $4..$3 data])
-diff $2 data
-set +e
-])
-
-AT_CLEANUP(data)
-])
-
-TEST_METHOD(texte:texte through memory while filtering,
-  $at_top_srcdir/COPYING, texte, texte, memory, filter)
-
-TEST_METHOD(texte:texte through memory while squashing,
-  $at_top_srcdir/COPYING, texte, texte, memory, squash)
-
-TEST_METHOD(texte:texte through files while filtering,
-  $at_top_srcdir/COPYING, texte, texte, files, filter)
-
-TEST_METHOD(texte:texte through files while squashing,
-  $at_top_srcdir/COPYING, texte, texte, files, squash)
-
-TEST_METHOD(texte:texte through pipe while filtering,
-  $at_top_srcdir/COPYING, texte, texte, pipe, filter)
-
-TEST_METHOD(texte:texte through pipe while squashing,
-  $at_top_srcdir/COPYING, texte, texte, pipe, squash)
-
-TEST_METHOD(texte:latin1 through memory while filtering,
-  $at_top_srcdir/COPYING, texte, latin1, memory, filter)
-
-TEST_METHOD(texte:latin1 through memory while squashing,
-  $at_top_srcdir/COPYING, texte, latin1, memory, squash)
-
-TEST_METHOD(texte:latin1 through files while filtering,
-  $at_top_srcdir/COPYING, texte, latin1, files, filter)
-
-TEST_METHOD(texte:latin1 through files while squashing,
-  $at_top_srcdir/COPYING, texte, latin1, files, squash)
-
-TEST_METHOD(texte:latin1 through pipe while filtering,
-  $at_top_srcdir/COPYING, texte, latin1, pipe, filter)
-
-TEST_METHOD(texte:latin1 through pipe while squashing,
-  $at_top_srcdir/COPYING, texte, latin1, pipe, squash)
-
-TEST_METHOD(texte:bangbang through memory while filtering,
-  $at_top_srcdir/COPYING, texte, bangbang, memory, filter)
-
-TEST_METHOD(texte:bangbang through memory while squashing,
-  $at_top_srcdir/COPYING, texte, bangbang, memory, squash)
-
-TEST_METHOD(texte:bangbang through files while filtering,
-  $at_top_srcdir/COPYING, texte, bangbang, files, filter)
-
-TEST_METHOD(texte:bangbang through files while squashing,
-  $at_top_srcdir/COPYING, texte, bangbang, files, squash)
-
-TEST_METHOD(texte:bangbang through pipe while filtering,
-  $at_top_srcdir/COPYING, texte, bangbang, pipe, filter)
-
-TEST_METHOD(texte:bangbang through pipe while squashing,
-  $at_top_srcdir/COPYING, texte, bangbang, pipe, squash)
-
-TEST_METHOD(texte:ibmpc through memory while filtering,
-  $at_top_srcdir/COPYING, texte, ibmpc, memory, filter)
-
-TEST_METHOD(texte:ibmpc through memory while squashing,
-  $at_top_srcdir/COPYING, texte, ibmpc, memory, squash)
-
-TEST_METHOD(texte:ibmpc through files while filtering,
-  $at_top_srcdir/COPYING, texte, ibmpc, files, filter)
-
-TEST_METHOD(texte:ibmpc through files while squashing,
-  $at_top_srcdir/COPYING, texte, ibmpc, files, squash)
-
-TEST_METHOD(texte:ibmpc through pipe while filtering,
-  $at_top_srcdir/COPYING, texte, ibmpc, pipe, filter)
-
-TEST_METHOD(texte:ibmpc through pipe while squashing,
-  $at_top_srcdir/COPYING, texte, ibmpc, pipe, squash)
-
-TEST_METHOD(texte:iconqnx through memory while filtering,
-  $at_top_srcdir/COPYING, texte, iconqnx, memory, filter)
-
-TEST_METHOD(texte:iconqnx through memory while squashing,
-  $at_top_srcdir/COPYING, texte, iconqnx, memory, squash)
-
-TEST_METHOD(texte:iconqnx through files while filtering,
-  $at_top_srcdir/COPYING, texte, iconqnx, files, filter)
-
-TEST_METHOD(texte:iconqnx through files while squashing,
-  $at_top_srcdir/COPYING, texte, iconqnx, files, squash)
-
-TEST_METHOD(texte:iconqnx through pipe while filtering,
-  $at_top_srcdir/COPYING, texte, iconqnx, pipe, filter)
-
-TEST_METHOD(texte:iconqnx through pipe while squashing,
-  $at_top_srcdir/COPYING, texte, iconqnx, pipe, squash)
-
-TEST_METHOD(ascii-bs:ebcdic through memory while filtering,
-  $at_top_srcdir/COPYING, ascii-bs, ebcdic, memory, filter)
-
-TEST_METHOD(ascii-bs:ebcdic through memory while squashing,
-  $at_top_srcdir/COPYING, ascii-bs, ebcdic, memory, squash)
-
-TEST_METHOD(ascii-bs:ebcdic through files while filtering,
-  $at_top_srcdir/COPYING, ascii-bs, ebcdic, files, filter)
-
-TEST_METHOD(ascii-bs:ebcdic through files while squashing,
-  $at_top_srcdir/COPYING, ascii-bs, ebcdic, files, squash)
-
-TEST_METHOD(ascii-bs:ebcdic through pipe while filtering,
-  $at_top_srcdir/COPYING, ascii-bs, ebcdic, pipe, filter)
-
-TEST_METHOD(ascii-bs:ebcdic through pipe while squashing,
-  $at_top_srcdir/COPYING, ascii-bs, ebcdic, pipe, squash)
diff --git a/tests/pytest b/tests/pytest
new file mode 100755 (executable)
index 0000000..3bff838
--- /dev/null
@@ -0,0 +1,453 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright © 2005 Progiciels Bourbeau-Pinard inc.
+# François Pinard <pinard@iro.umontreal.ca>, 2005.
+
+u"""\
+Execute a validation suite built in pylib's py.test style.
+
+Usage: pytest [OPTION]... [PATH]...
+
+Options:
+  -h   Print this help and exit right away.
+  -v   Produce one line per test, instead of a dot per test.
+  -n   Do not capture stdout nor stderr.
+  -p   Profile validation suite (through "lsprof").
+
+  -f PREFIX     Use PREFIX instead of "test_" for file names.
+  -s FILE       Save ordinals of failed tests, one per line.
+  -o ORDINALS   Only consider tests having these execution ordinals.
+  -k PATTERN    Only retain tests which names match PATTERN.
+  -x PATTERN    Exclude tests which names match PATTERN.
+  -l LIMIT      Stop the validation suite after LIMIT errors.
+
+If -l is not used, the validation will stop after 10 errors.  ORDINALS is
+a sequence of comma-separated integers.  Options -k, -o and -x may be
+repeated; then a test should match at least one of -k options if any,
+one of -o options is any, and none of -x options.
+
+When PATH names a directory, it is recursively searched to find files
+matching "test_.*\.py".  Otherwise, it should give a ".py" ended file name
+containing tests.  If no PATH are given, the current directory is implied.
+
+Test progression is first displayed on standard error.  Then, unless
+-s is selected, failed tests are detailed on stdout and, if there is at
+least one such failed test, the return status of this program is non-zero.
+"""
+
+# This tool implements a minimal set of specifications stolen from the
+# excellent Codespeak's py.test, at a time I really needed py.test to be
+# more Unicode-aware.
+
+__metaclass__ = type
+import inspect, os, sys, time, traceback
+from StringIO import StringIO
+
+# How many displayable characters in an output line.
+WIDTH = 79
+
+class Limit_Reached(Exception):
+    pass
+
+class SkipTest(Exception):
+    pass
+
+class Main:
+    prefix = 'test_'
+    pattern = []
+    exclusion = []
+    ordinals = []
+    verbose = False
+    profile = False
+    limit = 10
+    capture = True
+    save = None
+
+    # For handling setup/teardown laziness.
+    delayed_setup_module = None
+    delayed_setup_class = None
+    did_tests_in_module = False
+    did_tests_in_class = False
+
+    def main(self, *arguments):
+        if sys.getdefaultencoding() == 'ascii':
+            sys.stdout = Friendly_StreamWriter(sys.stdout)
+            sys.stderr = Friendly_StreamWriter(sys.stderr)
+        import getopt
+        options, arguments = getopt.getopt(arguments, u'f:hk:l:no:ps:vx:')
+        for option, value in options:
+            if option == u'-f':
+                self.prefix = value
+            elif option == u'-h':
+                sys.stdout.write(__doc__)
+                return
+            elif option == u'-k':
+                self.pattern.append(value)
+            elif option == u'-l':
+                self.limit = int(value)
+            elif option == u'-n':
+                self.capture = False
+            elif option == u'-o':
+                self.ordinals += [
+                    int(text) for text in value.replace(u',', u' ').split()]
+            elif option == u'-p':
+                self.profile = True
+            elif option == u'-s':
+                self.save = value
+            elif option == u'-v':
+                self.verbose = True
+            elif option == u'-x':
+                self.exclusion.append(value)
+        if not arguments:
+            arguments = u'.',
+        if self.pattern:
+            import re
+            self.pattern = re.compile(u'|'.join(self.pattern))
+        else:
+            self.pattern = None
+        if self.exclusion:
+            import re
+            self.exclusion = re.compile(u'|'.join(self.exclusion))
+        else:
+            self.exclusion = None
+        write = sys.stderr.write
+        self.failures = []
+        self.total_count = 0
+        self.skip_count = 0
+        start_time = time.time()
+        if self.profile:
+            try:
+                import lsprof
+            except ImportError:
+                write(u"WARNING: profiler unavailable.\n")
+                self.profiler = None
+            else:
+                self.profiler = lsprof.Profiler()
+        else:
+            self.profiler = None
+        try:
+            try:
+                for argument in arguments:
+                    for file_name in self.each_file(argument):
+                        self.identifier = file_name
+                        self.column = 0
+                        self.counter = 0
+                        directory, base = os.path.split(file_name)
+                        sys.path.insert(0, directory)
+                        try:
+                            try:
+                                module = __import__(base[:-3])
+                            except ImportError:
+                                if self.save:
+                                    self.failures.append(self.total_count + 1)
+                                else:
+                                    tracing = StringIO()
+                                    traceback.print_exc(file=tracing)
+                                    self.failures.append(
+                                        (self.total_count + 1, file_name,
+                                         None, None,
+                                         None, None,
+                                         str(tracing.getvalue())))
+                            else:
+                                self.handle_module(file_name, module)
+                        finally:
+                            del sys.path[0]
+                        if self.counter and not self.verbose:
+                            text = u'(%d)' % self.counter
+                            if self.column + 1 + len(text) >= WIDTH:
+                                write(u'\n%5d ' % self.counter)
+                            else:
+                                text = u' ' + text
+                            write(text + u'\n')
+            except KeyboardInterrupt:
+                if not self.verbose:
+                    write(u'\n')
+                write(u'\n*** INTERRUPTION! ***\n')
+            except Limit_Reached:
+                if not self.verbose:
+                    write(u'\n')
+                if not self.save:
+                    if len(self.failures) == 1:
+                        write(u'\n*** ONE ERROR ALREADY! ***\n')
+                    else:
+                        write(u'\n*** %d ERRORS ALREADY! ***\n' % self.limit)
+        finally:
+            if self.profiler is not None:
+                stats = lsprof.Stats(self.profiler.getstats())
+                stats.sort(u'inlinetime')
+                write(u'\n')
+                stats.pprint(15)
+            if self.failures:
+                if len(self.failures) == 1:
+                    text = u"one FAILED test"
+                else:
+                    text = u"%d FAILED tests" % len(self.failures)
+                first = False
+            else:
+                text = u''
+                first = True
+            good_count = (self.total_count - self.skip_count
+                          - len(self.failures))
+            if good_count:
+                if first:
+                    if good_count == 1:
+                        text += u"one good test"
+                    else:
+                        text += u"%d good tests" % good_count
+                    first = False
+                else:
+                    if good_count == 1:
+                        text += u", one good"
+                    else:
+                        text += u", %d good" % good_count
+            if self.skip_count:
+                if first:
+                    if self.skip_count == 1:
+                        text += u"one skipped test"
+                    else:
+                        text += u"%d skipped tests" % self.skip_count
+                    first = False
+                else:
+                    if self.skip_count == 1:
+                        text += u", one skipped"
+                    else:
+                        text += u", %d skipped" % self.skip_count
+            if first:
+                text = u"No test"
+            summary = (u"\nSummary: %s in %.2f seconds.\n"
+                       % (text, time.time() - start_time))
+            write(summary)
+        if self.save:
+            write = file(self.save, u'w').write
+            for ordinal in self.failures:
+                write(u'%d\n' % ordinal)
+        else:
+            write = sys.stdout.write
+            for (ordinal, prefix, function, arguments, stdout, stderr,
+                 tracing) in self.failures:
+                write(u'\n' + u'=' * WIDTH + u'\n')
+                write(u'%d. %s\n' % (ordinal, prefix))
+                if function and function.__name__ != os.path.basename(prefix):
+                    write(u"    Fonction %s\n" % function.__name__)
+                if arguments:
+                    for counter, argument in enumerate(arguments):
+                        write(u"    Arg %d = %r\n" % (counter + 1, argument))
+                for buffer, titre in ((stdout, u'STDOUT'), (stderr, u'STDERR')):
+                    if buffer:
+                        write(u'\n' + titre + u' >>>\n')
+                        write(buffer)
+                        if not buffer.endswith(u'\n'):
+                            write(u'\n')
+                write(u'-' * WIDTH + u'\n')
+                write(tracing)
+            if self.failures:
+                write(summary)
+                sys.exit(1)
+
+    def each_file(self, path):
+        if os.path.isdir(path):
+            stack = [path]
+            while stack:
+                directory = stack.pop(0)
+                for base in sorted(os.listdir(directory)):
+                    file_name = os.path.join(directory, base)
+                    if base.startswith(self.prefix) and base.endswith(u'.py'):
+                        yield file_name
+                    elif os.path.isdir(file_name):
+                        stack.append(file_name)
+        else:
+            if not path.endswith(u'.py'):
+                sys.exit("%s: Should have a `.py' suffix." % path)
+            yield path
+
+    def handle_module(self, prefix, module):
+        collection = []
+        for name, objet in inspect.getmembers(module):
+            if name.startswith(u'Test') and inspect.isclass(objet):
+                if getattr(object, u'disabled', False):
+                    continue
+                minimum = None
+                for _, method in inspect.getmembers(objet, inspect.ismethod):
+                    number = method.im_func.func_code.co_firstlineno
+                    if minimum is None or number < minimum:
+                        minimum = number
+                if minimum is not None:
+                    collection.append((minimum, name, objet, False))
+            elif name.startswith(u'test_') and inspect.isfunction(objet):
+                code = objet.func_code
+                collection.append((code.co_firstlineno, name, objet,
+                                   bool(code.co_flags & 32)))
+        if not collection:
+            return
+        self.delayed_setup_module = None
+        self.did_tests_in_module = False
+        if hasattr(module, u'setup_module'):
+            self.delayed_setup_module = module.setup_module, module
+        for _, name, objet, generator in sorted(collection):
+            self.delayed_setup_class = None
+            self.did_tests_in_class = False
+            if inspect.isclass(objet):
+                if not getattr(object, u'disabled', False):
+                    self.handle_class(prefix + u'/' + name, objet)
+            else:
+                self.handle_function(prefix + u'/' + name, objet,
+                                      generator, None)
+        if self.did_tests_in_module and hasattr(module, u'teardown_module'):
+            module.teardown_module(module)
+
+    def handle_class(self, prefix, classe):
+        collection = []
+        for name, method in inspect.getmembers(classe, inspect.ismethod):
+            if name.startswith(u'test_'):
+                code = method.im_func.func_code
+                collection.append((code.co_firstlineno, name, method,
+                                   bool(code.co_flags & 32)))
+        if not collection:
+            return
+        instance = classe()
+        if hasattr(instance, u'setup_class'):
+            self.delayed_setup_module = module.setup_class, classe
+        for _, name, method, generator in sorted(collection):
+            self.handle_function(prefix + u'/' + name, getattr(instance, name),
+                                  generator, instance)
+        if self.did_tests_in_class and hasattr(instance, u'teardown_class'):
+            instance.teardown_class(classe)
+
+    def handle_function(self, prefix, function, generator, instance):
+        if generator:
+            for counter, arguments in enumerate(function()):
+                self.launch_test(prefix + u'/' + unicode(counter + 1),
+                                 arguments[0], arguments[1:], instance)
+        else:
+            self.launch_test(prefix, function, (), instance)
+
+    def launch_test(self, prefix, function, arguments, instance):
+        # Check if this test should be retained.
+        if (self.exclusion is not None and self.exclusion.search(prefix)
+              or self.pattern is not None and not self.pattern.search(prefix)
+              or self.ordinals and self.total_count+1 not in self.ordinals):
+            self.mark_progression(prefix, None)
+            return
+        # This test should definitely be executed.
+        if self.delayed_setup_module is not None:
+            self.delayed_setup_module[0](self.delayed_setup_module[1])
+            self.delayed_setup_module = None
+        if self.delayed_setup_class is not None:
+            self.delayed_setup_class[0](self.delayed_setup_class[1])
+            self.delayed_setup_class = None
+        if instance is not None and hasattr(instance, u'setup_method'):
+            instance.setup_method(function)
+        if self.capture:
+            saved_stdout = sys.stdout
+            saved_stderr = sys.stderr
+            stdout = sys.stdout = StringIO()
+            stderr = sys.stderr = StringIO()
+        self.activate_profiling()
+        try:
+            try:
+                function(*arguments)
+            except KeyboardInterrupt:
+                success = None
+                raise
+            except SkipTest:
+                success = None
+            except:
+                success = False
+            else:
+                success = True
+        finally:
+            self.deactivate_profiling()
+            if self.capture:
+                sys.stdout = saved_stdout
+                sys.stderr = saved_stderr
+                stdout = stdout.getvalue()
+                stderr = stderr.getvalue()
+            else:
+                stdout = None
+                stderr = None
+            self.mark_progression(prefix, success)
+            if success is False:
+                if self.save:
+                    self.failures.append(self.total_count)
+                else:
+                    tracing = StringIO()
+                    traceback.print_exc(file=tracing)
+                    self.failures.append(
+                        (self.total_count, prefix, function, arguments,
+                         stdout, stderr, str(tracing.getvalue())))
+            if instance is not None and hasattr(instance, u'teardown_method'):
+                instance.teardown_method(function)
+            self.did_tests_in_class = True
+            self.did_tests_in_module = True
+        if success is not None and len(self.failures) == self.limit:
+            raise Limit_Reached
+
+    def mark_progression(self, prefix, succes):
+        self.total_count += 1
+        if succes is None:
+            self.skip_count += 1
+        else:
+            write = sys.stderr.write
+            if self.verbose:
+                write(u'%5d. [%s] %s\n' % (self.total_count, prefix,
+                                           (u'FAILED', u'ok')[succes]))
+            else:
+                if self.column == WIDTH:
+                    write(u'\n')
+                    self.column = 0
+                if not self.column:
+                    if self.counter:
+                        text = u'%5d ' % (self.counter + 1)
+                    else:
+                        text = self.identifier + u' '
+                    write(text)
+                    self.column = len(text)
+                write(u'E·'[succes])
+                self.column += 1
+                self.counter += 1
+
+    def activate_profiling(self):
+        if self.profiler is not None:
+            self.profiler.enable(subcalls=True, builtins=True)
+
+    def deactivate_profiling(self):
+        if self.profiler is not None:
+            self.profiler.disable()
+
+class Friendly_StreamWriter:
+    # Avoid some Unicode nightmares, by allowing both unicode and
+    # UTF-8 str strings to be written (given our sources are all UTF-8).
+
+    def __init__(self, stream):
+        import codecs, locale
+        writer = codecs.getwriter(locale.getpreferredencoding())
+        self.stream = writer(stream, 'backslashreplace')
+
+    def write(self, text):
+        if not isinstance(text, unicode):
+            text = unicode(text, 'UTF-8')
+        self.stream.write(text)
+
+    def writelines(self, lines):
+        for line in lines:
+            self.write(line)
+
+run = Main()
+main = run.main
+
+class ExceptionExpected(Exception):
+    pass
+
+def raises(expected, *args, **kws):
+    try:
+        if isinstance(args[0], unicode) and not kws:
+            eval(args[0])
+        else:
+            args[0](*args[1:], **kws)
+    except expected:
+        return
+    else:
+        raise ExceptionExpected(u"Exception did not happen.")
+
+if __name__ == u'__main__':
+    main(*sys.argv[1:])
diff --git a/tests/quoted-data b/tests/quoted-data
deleted file mode 100644 (file)
index a07a6bc..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Dear =DEorvard=F0ur,
-
-=AB O=F9 qu'il r=E9side, =E0 N=EEmes ou m=EAme Capharna=FCm, tout Fran=E7ai=
-s inscrit
-au r=F4le payera son d=FB d=E8s avant No=EBl, qu'il soit na=EFf ou r=E2leur=
-. =BB
-Incomplete last line=
diff --git a/tests/suite.m4 b/tests/suite.m4
deleted file mode 100644 (file)
index 27c6c6b..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-#                                                      -*- coding: latin-1 -*-
-# Validation suite for the Free `recode' program and library.
-# Copyright © 1998, 1999, 2000 Progiciels Bourbeau-Pinard inc.
-# François Pinard <pinard@iro.umontreal.ca>, 1998.
-
-# Still many parts of `recode' are not exercised by the test suite.  A few
-# FIXME's, below, are used to list tests that we would need.  Do you feel
-# like contributing new tests?  If you do, you may tell your intent to
-# `recode-forum@iro.umontreal.ca', so no two people work at the same thing.
-
-AT_INIT(recode)
-
-# Tell the installer that `make bigtest' exists.
-echo
-echo "WARNING: The \`bigauto' test will be skipped, as it takes a long time to"
-echo "         complete.  To launch it, get into the build \`tests/' directory"
-echo "         and do either \`make bigtest' or \`make bigtest-strict'.  The"
-echo "         later forces \`-s' on all \`recode' calls."
-
-echo
-echo 'Charset listings.'
-echo
-
-AT_INCLUDE(names.m4)
-AT_INCLUDE(lists.m4)
-
-echo
-echo 'Individual surfaces.'
-echo
-
-# FIXME: tests for endline and permut.
-
-AT_INCLUDE(dumps.m4)
-AT_INCLUDE(base64.m4)
-AT_INCLUDE(quoted.m4)
-
-echo
-echo 'Individual charsets.'
-echo
-
-# FIXME: tests for atarist, next, ebcdic, tables, applemac, ibmpc, iconqnx,
-# cdcnos, bangbang, ascii, flat, html, latex, texinfo, texte and utf16.
-
-AT_INCLUDE(african.m4)
-AT_INCLUDE(combine.m4)
-AT_INCLUDE(testdump.m4)
-AT_INCLUDE(utf7.m4)
-AT_INCLUDE(utf8.m4)
-
-echo
-echo 'Inter-step mechanics.'
-echo
-
-AT_INCLUDE(methods.m4)
diff --git a/tests/t21_names.py b/tests/t21_names.py
new file mode 100644 (file)
index 0000000..0573e29
--- /dev/null
@@ -0,0 +1,293 @@
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
+
+# Checking list of charsets and surfaces.
+
+expected = '''\
+/21-Permutation swabytes
+/4321-Permutation
+/Base64 64 b64
+/CR
+/CR-LF cl
+/Decimal-1 d d1
+/Decimal-2 d2
+/Decimal-4 d4
+/Hexadecimal-1 x x1
+/Hexadecimal-2 x2
+/Hexadecimal-4 x4
+/Octal-1 o o1
+/Octal-2 o2
+/Octal-4 o4
+/Quoted-Printable QP quote-printable
+/test7
+/test8
+/test15
+/test16
+:libiconv: :
+AFRFUL-102-BPI_OCIL bambara bra ewondo fulfulde
+AFRFUL-103-BPI_OCIL t-bambara t-bra t-ewondo t-fulfulde
+AFRL1-101-BPI_OCIL t-fra t-francais
+AFRLIN-104-BPI_OCIL lin lingala sango wolof
+AFRLIN-105-BPI_OCIL t-lin t-lingala t-sango t-wolof
+ANSI_X3.4-1968 367/CR-LF ANSI_X3.4-1986 ASCII CP367/CR-LF csASCII IBM367/CR-LF ISO646-US ISO646.1991-IRV iso-ir-6 ISO_646.irv:1991 us US-ASCII
+Apple-Mac/CR
+ARMSCII-8
+ASCII-BS BS
+ASMO_449 arabic7 iso-ir-89 ISO_9036
+AtariST
+baltic iso-ir-179
+Bang-Bang
+BIG5 BIG-5 BIG-FIVE BIGFIVE CN-BIG5 csBig5
+BIG5HKSCS
+BS_4730 gb ISO646-GB iso-ir-4 uk
+BS_viewdata iso-ir-47
+CDC-NOS NOS
+CHAR
+combined-UCS-2 co
+CORK T1
+count-characters
+CP866 866 csIBM866 IBM866
+CP874 WINDOWS-874
+CP932
+CP949 UHC
+CP950
+CP1133 IBM-CP1133
+CP1250/CR-LF 1250/CR-LF ms-ee windows-1250
+CP1251/CR-LF 1251/CR-LF ms-cyrl windows-1251
+CP1252/CR-LF 1252/CR-LF ms-ansi windows-1252
+CP1253/CR-LF 1253/CR-LF ms-greek windows-1253
+CP1254/CR-LF 1254/CR-LF ms-turk windows-1254
+CP1255/CR-LF 1255/CR-LF ms-hebr windows-1255
+CP1256/CR-LF 1256/CR-LF ms-arab windows-1256
+CP1257/CR-LF 1257/CR-LF WinBaltRim windows-1257
+CP1258 WINDOWS-1258
+CSA_Z243.4-1985-1 ca csa7-1 ISO646-CA iso-ir-121
+CSA_Z243.4-1985-2 csa7-2 ISO646-CA2 iso-ir-122
+CSA_Z243.4-1985-gr iso-ir-123
+CSN_369103 iso-ir-139 koi8l2 KOI-8_L2
+CWI cp-hu CWI-2
+data
+DEC-MCS dec
+DIN_66003 de ISO646-DE iso-ir-21
+DS_2089 dk DS2089 ISO646-DK
+dump-with-names
+EBCDIC
+EBCDIC-AT-DE
+EBCDIC-AT-DE-A
+EBCDIC-CA-FR
+EBCDIC-CCC
+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-IBM
+EBCDIC-IS-FRISS friss
+EBCDIC-IT
+EBCDIC-PT
+EBCDIC-UK
+EBCDIC-US
+ECMA-cyrillic ECMA-113 ECMA-113:1986 iso-ir-111
+ES ISO646-ES iso-ir-17
+ES2 ISO646-ES2 iso-ir-85
+EUC-CN CN-GB csGB2312 EUCCN EUC_CN GB2312
+EUC-JP csEUCPkdFmtJapanese EUCJP EUC_JP Extended_UNIX_Code_Packed_Format_for_Japanese
+EUC-KR csEUCKR EUCKR EUC_KR
+EUC-TW csEUCTW EUCTW EUC_TW
+flat
+GB18030
+GBK CP936
+GB_1988-80 cn csISO57GB1988 ISO646-CN iso-ir-57
+GB_2312-80 CHINESE csISO58GB231280 GB2312.1980-0 ISO-IR-58
+Georgian-Academy
+Georgian-PS
+GOST_19768-87 iso-ir-153 ST_SEV_358-88
+greek7 iso-ir-88
+greek7-old iso-ir-18
+greek-ccitt iso-ir-150
+hp-roman8 csHPRoman8 r8 roman8
+HTML-i18n 2070 RFC2070
+HTML_1.1 h1
+HTML_2.0 1866 h2 RFC1866
+HTML_3.2 h3
+HTML_4.0 h h4 HTML
+HZ HZ-GB-2312
+IBM037/CR-LF 037/CR-LF CP037/CR-LF ebcdic-cp-ca ebcdic-cp-nl ebcdic-cp-us ebcdic-cp-wt
+IBM038/CR-LF 038/CR-LF CP038/CR-LF EBCDIC-INT
+IBM256/CR-LF 256/CR-LF CP256/CR-LF EBCDIC-INT1
+IBM273/CR-LF 273/CR-LF CP273/CR-LF
+IBM274/CR-LF 274/CR-LF CP274/CR-LF EBCDIC-BE
+IBM275/CR-LF 275/CR-LF CP275/CR-LF EBCDIC-BR
+IBM277/CR-LF EBCDIC-CP-DK EBCDIC-CP-NO
+IBM278/CR-LF 278/CR-LF CP278/CR-LF ebcdic-cp-fi ebcdic-cp-se
+IBM280/CR-LF 280/CR-LF CP280/CR-LF ebcdic-cp-it
+IBM281/CR-LF 281/CR-LF CP281/CR-LF EBCDIC-JP-E
+IBM284/CR-LF 284/CR-LF CP284/CR-LF ebcdic-cp-es
+IBM285/CR-LF 285/CR-LF CP285/CR-LF ebcdic-cp-gb
+IBM290/CR-LF 290/CR-LF CP290/CR-LF EBCDIC-JP-kana
+IBM297/CR-LF 297/CR-LF CP297/CR-LF ebcdic-cp-fr
+IBM420/CR-LF 420/CR-LF CP420/CR-LF ebcdic-cp-ar1
+IBM423/CR-LF 423/CR-LF CP423/CR-LF ebcdic-cp-gr
+IBM424/CR-LF 424/CR-LF CP424/CR-LF ebcdic-cp-he
+IBM437/CR-LF 437/CR-LF CP437/CR-LF
+IBM500/CR-LF 500/CR-LF 500V1 CP500/CR-LF ebcdic-cp-be ebcdic-cp-ch
+IBM850/CR-LF 850/CR-LF CP850/CR-LF csPC850Multilingual
+IBM851/CR-LF 851/CR-LF CP851/CR-LF
+IBM852/CR-LF 852/CR-LF CP852/CR-LF pcl2 pclatin2
+IBM855/CR-LF 855/CR-LF CP855/CR-LF
+IBM857/CR-LF 857/CR-LF CP857/CR-LF
+IBM860/CR-LF 860/CR-LF CP860/CR-LF
+IBM861/CR-LF 861/CR-LF CP861/CR-LF cp-is
+IBM862/CR-LF 862/CR-LF CP862/CR-LF
+IBM863/CR-LF 863/CR-LF CP863/CR-LF
+IBM864/CR-LF 864/CR-LF CP864/CR-LF
+IBM865/CR-LF 865/CR-LF CP865/CR-LF
+IBM868/CR-LF 868/CR-LF CP868/CR-LF cp-ar
+IBM869/CR-LF 869/CR-LF CP869/CR-LF cp-gr
+IBM870/CR-LF 870/CR-LF CP870/CR-LF ebcdic-cp-roece ebcdic-cp-yu
+IBM871/CR-LF 871/CR-LF CP871/CR-LF ebcdic-cp-is
+IBM875/CR-LF 875/CR-LF CP875/CR-LF EBCDIC-Greek
+IBM880/CR-LF 880/CR-LF CP880/CR-LF EBCDIC-Cyrillic
+IBM891/CR-LF 891/CR-LF CP891/CR-LF
+IBM903/CR-LF 903/CR-LF CP903/CR-LF
+IBM904/CR-LF 904/CR-LF CP904/CR-LF
+IBM905/CR-LF 905/CR-LF CP905/CR-LF ebcdic-cp-tr
+IBM918/CR-LF 918/CR-LF CP918/CR-LF ebcdic-cp-ar2
+IBM1004/CR-LF 1004/CR-LF CP1004/CR-LF os2latin1
+IBM1026/CR-LF 1026/CR-LF CP1026/CR-LF
+IBM1047/CR-LF 1047/CR-LF CP1047/CR-LF
+IBM-PC/CR-LF dos/CR-LF MSDOS/CR-LF pc/CR-LF
+Icon-QNX QNX
+IEC_P27-1 iso-ir-143
+INIS iso-ir-49
+INIS-8 iso-ir-50
+INIS-cyrillic iso-ir-51
+INVARIANT iso-ir-170
+ISO-2022-CN csISO2022CN ISO2022CN
+ISO-2022-CN-EXT
+ISO-2022-JP csISO2022JP ISO2022JP
+ISO-2022-JP-1
+ISO-2022-JP-2 csISO2022JP2
+ISO-2022-KR csISO2022KR ISO2022KR
+ISO-8859-1 819/CR-LF CP819/CR-LF csISOLatin1 IBM819/CR-LF ISO8859-1 iso-ir-100 ISO_8859-1 ISO_8859-1:1987 l1 lat1 latin1 Latin-1
+ISO-8859-2 912/CR-LF CP912/CR-LF csISOLatin2 IBM912/CR-LF ISO8859-2 iso-ir-101 ISO_8859-2 ISO_8859-2:1987 l2 latin2
+ISO-8859-3 csISOLatin3 ISO8859-3 iso-ir-109 ISO_8859-3 ISO_8859-3:1988 l3 latin3
+ISO-8859-4 csISOLatin4 ISO8859-4 iso-ir-110 ISO_8859-4 ISO_8859-4:1988 l4 latin4
+ISO-8859-5 csISOLatinCyrillic cyrillic ISO8859-5 iso-ir-144 ISO_8859-5 ISO_8859-5:1988
+ISO-8859-6 arabic ASMO-708 csISOLatinArabic ECMA-114 ISO8859-6 iso-ir-127 ISO_8859-6 ISO_8859-6:1987
+ISO-8859-7 csISOLatinGreek ECMA-118 ELOT_928 greek greek8 ISO8859-7 iso-ir-126 ISO_8859-7 ISO_8859-7:1987
+ISO-8859-8 csISOLatinHebrew hebrew ISO8859-8 iso-ir-138 ISO_8859-8 ISO_8859-8:1988
+ISO-8859-9 csISOLatin5 ISO8859-9 iso-ir-148 ISO_8859-9 ISO_8859-9:1989 l5 latin5
+ISO-8859-10 csISOLatin6 ISO8859-10 iso-ir-157 ISO_8859-10 ISO_8859-10:1992 ISO_8859-10:1993 L6 latin6
+ISO-8859-13 ISO8859-13 iso-baltic ISO-IR-179 iso-ir-179a ISO_8859-13 ISO_8859-13:1998 l7 latin7
+ISO-8859-14 ISO8859-14 iso-celtic iso-ir-199 ISO_8859-14 ISO_8859-14:1998 l8 latin8
+ISO-8859-15 ISO8859-15 iso-ir-203 ISO_8859-15 ISO_8859-15:1998 l9 latin9
+ISO-8859-16 ISO-IR-226 ISO_8859-16 ISO_8859-16:2000
+ISO-10646-UCS-2 BMP csUnicode csUnicode11 rune u2 UCS-2 UCS-2BE UNICODE-1-1 UNICODEBIG
+ISO-10646-UCS-4 10646 csUCS4 ISO_10646 u4 UCS UCS-4
+ISO-IR-165 CN-GB-ISOIR165
+ISO_646.basic ISO_646.basic:1983 ref
+ISO_646.irv irv iso-ir-2 ISO_646.irv:1983
+ISO_2033-1983 e13b iso-ir-98
+ISO_5427 iso-ir-37
+ISO_5427-ext iso-ir-54 ISO_5427:1981
+ISO_5428 iso-ir-55 ISO_5428:1980
+ISO_6937-2-25 iso-ir-152
+ISO_8859-supp iso-ir-154 latin1-2-5
+ISO_10367-box iso-ir-155
+IT ISO646-IT iso-ir-15
+JAVA
+JIS_C6220-1969-jp iso-ir-13 JIS_C6220-1969 katakana x0201-7
+JIS_C6220-1969-ro csISO14JISC6220ro ISO646-JP iso-ir-14 jp
+JIS_C6229-1984-a jp-ocr-a
+JIS_C6229-1984-b ISO646-JP-OCR-B jp-ocr-b
+JIS_C6229-1984-b-add iso-ir-93 jp-ocr-b-add
+JIS_C6229-1984-hand iso-ir-94 jp-ocr-hand
+JIS_C6229-1984-hand-add iso-ir-95 jp-ocr-hand-add
+JIS_C6229-1984-kana iso-ir-96
+JIS_X0201 csHalfWidthKatakana JIS0201 JISX0201-1976 JISX0201.1976-0 X0201
+JIS_X0208 csISO87JISX0208 ISO-IR-87 JIS0208 JISX0208.1983-0 JISX0208.1990-0 JIS_X0208-1983 JIS_X0208-1990 X0208
+JIS_X0212 csISO159JISX02121990 ISO-IR-159 JIS0212 JISX0212.1990-0 JIS_X0212-1990 JIS_X0212.1990-0 X0212
+JOHAB CP1361
+JUS_I.B1.002 ISO646-YU iso-ir-141 js yu
+JUS_I.B1.003-mac iso-ir-147 macedonian
+JUS_I.B1.003-serb iso-ir-146 serbian
+KEYBCS2 Kamenicky
+KOI8-R csKOI8R
+KOI8-RU
+KOI8-U
+KOI-7
+KOI-8 GOST_19768-74
+KOI-8_CS2
+KSC5636 ISO646-KR
+KSC_5601 csKSC56011987 ISO-IR-149 KOREAN KSC5601.1987-0 KSX1001:1992 KS_C_5601-1987 KS_C_5601-1989
+LaTeX ltex TeX
+latin-greek iso-ir-19
+Latin-greek-1 iso-ir-27
+mac-is
+MacArabic
+MacCentralEurope
+MacCroatian
+MacCyrillic
+MacGreek
+MacHebrew
+MacIceland
+macintosh/CR csMacintosh mac/CR MacRoman
+macintosh_ce/CR macce/CR
+MacRomania
+MacThai
+MacTurkish
+MacUkraine
+MSZ_7795.3 hu ISO646-HU iso-ir-86
+Mule
+MuleLao-1
+NATS-DANO iso-ir-9-1
+NATS-DANO-ADD iso-ir-9-2
+NATS-SEFI iso-ir-8-1
+NATS-SEFI-ADD iso-ir-8-2
+NC_NC00-10 cuba ISO646-CU iso-ir-151 NC_NC00-10:81
+NeXTSTEP next
+NF_Z_62-010 fr ISO646-FR iso-ir-69
+NF_Z_62-010_(1973) ISO646-FR1 iso-ir-25
+NS_4551-1 ISO646-NO iso-ir-60 no
+NS_4551-2 ISO646-NO2 iso-ir-61 no2
+PT ISO646-PT iso-ir-16
+PT2 ISO646-PT2 iso-ir-84
+RFC1345 1345 mnemonic
+sami iso-ir-158 lap latin-lap
+SEN_850200_B FI ISO646-FI ISO646-SE iso-ir-10 se SS636127
+SEN_850200_C ISO646-SE2 iso-ir-11 se2
+SJIS csShiftJIS MS_KANJI SHIFT-JIS SHIFT_JIS
+T.61-7bit iso-ir-102
+TCVN TCVN5712-1 TCVN5712-1:1993 TCVN-5712
+Texinfo texi ti
+Texte txte
+TIS-620 ISO-IR-166 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1
+tree
+UCS-2-INTERNAL
+UCS-2-SWAPPED
+UCS-2LE UNICODELITTLE
+UCS-4-INTERNAL
+UCS-4-SWAPPED
+UCS-4BE
+UCS-4LE
+UNICODE-1-1-UTF-7 csUnicode11UTF7 TF-7 u7 UTF-7
+UTF-8 FSS_UTF TF-8 u8 UTF-2 UTF-FSS
+UTF-16 TF-16 u6 Unicode
+UTF-16BE
+UTF-16LE
+VIQR
+VISCII csVISCII VISCII1.1-1
+VNI
+VPS
+WCHAR_T
+XML-standalone h0
+'''
+
+def test_1():
+    output = common.external_output('$R -l')
+    common.assert_or_diff(output, expected)
similarity index 95%
rename from tests/lists.m4
rename to tests/t22_lists.py
index 5c6649840364d77401630132365e773d7eefc3c7..fb093d7ed033d13bce8c95d2e6f4d8fb68f91397 100644 (file)
@@ -1,9 +1,12 @@
-#                                                      -*- shell-script -*-
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
 
-AT_SETUP(decimal listing of a charset)
-dnl      ----------------------------
+class Test_decimal:
 
-cat > expect <<'EOF'
+    # Decimal listing of a charset.
+
+    expected = '''\
 ISO-8859-1
 
   0 NU    16 DL    32 SP    48 0     64 At    80 P     96 '!   112 p
@@ -39,16 +42,17 @@ ISO-8859-1
 141 RI   157 OC   173 --   189 12   205 I'   221 Y'   237 i'   253 y'
 142 S2   158 PM   174 Rg   190 34   206 I>   222 TH   238 i>   254 th
 143 S3   159 AC   175 'm   191 ?I   207 I:   223 ss   239 i:   255 y:
-EOF
+'''
 
-AT_CHECK(recode -ld latin-1 | cmp -s - expect, 0)
+    def test_1(self):
+        output = common.external_output('$R -ld latin-1')
+        common.assert_or_diff(output, self.expected)
 
-AT_CLEANUP(expect)
+class Test_hexadecimal:
 
-AT_SETUP(hexadecimal listing of a charset)
-dnl      --------------------------------
+    # Hexadecimal listing of a charset.
 
-cat > expect <<'EOF'
+    expected = '''\
 ISO-8859-1
 
 00 NU   10 DL   20 SP   30 0    40 At   50 P    60 '!   70 p
@@ -84,16 +88,17 @@ ISO-8859-1
 8d RI   9d OC   ad --   bd 12   cd I'   dd Y'   ed i'   fd y'
 8e S2   9e PM   ae Rg   be 34   ce I>   de TH   ee i>   fe th
 8f S3   9f AC   af 'm   bf ?I   cf I:   df ss   ef i:   ff y:
-EOF
+'''
 
-AT_CHECK(recode -lh latin-1 | cmp -s - expect, 0)
+    def test_1(self):
+        output = common.external_output('$R -lh latin-1')
+        common.assert_or_diff(output, self.expected)
 
-AT_CLEANUP(expect)
+class Test_octal:
 
-AT_SETUP(octal listing of a charset)
-dnl      --------------------------
+    # Octal listing of a charset.
 
-cat > expect <<'EOF'
+    expected = '''\
 ISO-8859-1
 
 000 NU   020 DL   040 SP   060 0    100 At   120 P    140 '!   160 p
@@ -129,16 +134,17 @@ ISO-8859-1
 215 RI   235 OC   255 --   275 12   315 I'   335 Y'   355 i'   375 y'
 216 S2   236 PM   256 Rg   276 34   316 I>   336 TH   356 i>   376 th
 217 S3   237 AC   257 'm   277 ?I   317 I:   337 ss   357 i:   377 y:
-EOF
+'''
 
-AT_CHECK(recode -lo latin-1 | cmp -s - expect, 0)
+    def test_1(self):
+        output = common.external_output('$R -lo latin-1')
+        common.assert_or_diff(output, self.expected)
 
-AT_CLEANUP(expect)
+class Test_full:
 
-AT_SETUP(full listing of a charset)
-dnl      -------------------------
+    # Full listing of a charset.
 
-cat > expect <<'EOF'
+    expected = '''\
 Dec  Oct Hex   UCS2  Mne  ISO-8859-1
 
   0  000  00   0000  NU   null (nul)
@@ -397,8 +403,8 @@ Dec  Oct Hex   UCS2  Mne  ISO-8859-1
 253  375  fd   00FD  y'   latin small letter y with acute
 254  376  fe   00FE  th   latin small letter thorn (icelandic)
 255  377  ff   00FF  y:   latin small letter y with diaeresis
-EOF
-
-AT_CHECK(recode -lf latin-1 | cmp -s - expect, 0)
+'''
 
-AT_CLEANUP(expect)
+    def test_1(self):
+        output = common.external_output('$R -lf latin-1')
+        common.assert_or_diff(output, self.expected)
similarity index 56%
rename from tests/names.m4
rename to tests/t25_subsets.py
index fcee2b2c0c643167c1130b45f0b8ceacbb8849c5..e5435fa71cdeeccd5f6590a91059960372c7b926 100644 (file)
-#                                                      -*- shell-script -*-
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
 
-AT_SETUP(list of charsets and surfaces)
-dnl      -----------------------------
+# Checking the --find-subsets option.
 
-cat >expout <<'EOF'
-/21-Permutation swabytes
-/4321-Permutation
-/Base64 64 b64
-/CR
-/CR-LF cl
-/Decimal-1 d d1
-/Decimal-2 d2
-/Decimal-4 d4
-/Hexadecimal-1 x x1
-/Hexadecimal-2 x2
-/Hexadecimal-4 x4
-/Octal-1 o o1
-/Octal-2 o2
-/Octal-4 o4
-/Quoted-Printable QP quote-printable
-/test7
-/test8
-/test15
-/test16
-:libiconv: :
-AFRFUL-102-BPI_OCIL bambara bra ewondo fulfulde
-AFRFUL-103-BPI_OCIL t-bambara t-bra t-ewondo t-fulfulde
-AFRL1-101-BPI_OCIL t-fra t-francais
-AFRLIN-104-BPI_OCIL lin lingala sango wolof
-AFRLIN-105-BPI_OCIL t-lin t-lingala t-sango t-wolof
-ANSI_X3.4-1968 367/CR-LF ANSI_X3.4-1986 ASCII CP367/CR-LF csASCII IBM367/CR-LF ISO646-US ISO646.1991-IRV iso-ir-6 ISO_646.irv:1991 us US-ASCII
-Apple-Mac/CR
-ARMSCII-8
-ASCII-BS BS
-ASMO_449 arabic7 iso-ir-89 ISO_9036
-AtariST
-baltic iso-ir-179
-Bang-Bang
-BIG5 BIG-5 BIG-FIVE BIGFIVE CN-BIG5 csBig5
-BIG5HKSCS
-BS_4730 gb ISO646-GB iso-ir-4 uk
-BS_viewdata iso-ir-47
-CDC-NOS NOS
-CHAR
-combined-UCS-2 co
-CORK T1
-count-characters
-CP866 866 csIBM866 IBM866
-CP874 WINDOWS-874
-CP932
-CP949 UHC
-CP950
-CP1133 IBM-CP1133
-CP1250/CR-LF 1250/CR-LF ms-ee windows-1250
-CP1251/CR-LF 1251/CR-LF ms-cyrl windows-1251
-CP1252/CR-LF 1252/CR-LF ms-ansi windows-1252
-CP1253/CR-LF 1253/CR-LF ms-greek windows-1253
-CP1254/CR-LF 1254/CR-LF ms-turk windows-1254
-CP1255/CR-LF 1255/CR-LF ms-hebr windows-1255
-CP1256/CR-LF 1256/CR-LF ms-arab windows-1256
-CP1257/CR-LF 1257/CR-LF WinBaltRim windows-1257
-CP1258 WINDOWS-1258
-CSA_Z243.4-1985-1 ca csa7-1 ISO646-CA iso-ir-121
-CSA_Z243.4-1985-2 csa7-2 ISO646-CA2 iso-ir-122
-CSA_Z243.4-1985-gr iso-ir-123
-CSN_369103 iso-ir-139 koi8l2 KOI-8_L2
-CWI cp-hu CWI-2
-data
-DEC-MCS dec
-DIN_66003 de ISO646-DE iso-ir-21
-DS_2089 dk DS2089 ISO646-DK
-dump-with-names
-EBCDIC
-EBCDIC-AT-DE
-EBCDIC-AT-DE-A
-EBCDIC-CA-FR
-EBCDIC-CCC
-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-IBM
-EBCDIC-IS-FRISS friss
-EBCDIC-IT
-EBCDIC-PT
-EBCDIC-UK
-EBCDIC-US
-ECMA-cyrillic ECMA-113 ECMA-113:1986 iso-ir-111
-ES ISO646-ES iso-ir-17
-ES2 ISO646-ES2 iso-ir-85
-EUC-CN CN-GB csGB2312 EUCCN EUC_CN GB2312
-EUC-JP csEUCPkdFmtJapanese EUCJP EUC_JP Extended_UNIX_Code_Packed_Format_for_Japanese
-EUC-KR csEUCKR EUCKR EUC_KR
-EUC-TW csEUCTW EUCTW EUC_TW
-flat
-GB18030
-GBK CP936
-GB_1988-80 cn csISO57GB1988 ISO646-CN iso-ir-57
-GB_2312-80 CHINESE csISO58GB231280 GB2312.1980-0 ISO-IR-58
-Georgian-Academy
-Georgian-PS
-GOST_19768-87 iso-ir-153 ST_SEV_358-88
-greek7 iso-ir-88
-greek7-old iso-ir-18
-greek-ccitt iso-ir-150
-hp-roman8 csHPRoman8 r8 roman8
-HTML-i18n 2070 RFC2070
-HTML_1.1 h1
-HTML_2.0 1866 h2 RFC1866
-HTML_3.2 h3
-HTML_4.0 h h4 HTML
-HZ HZ-GB-2312
-IBM037/CR-LF 037/CR-LF CP037/CR-LF ebcdic-cp-ca ebcdic-cp-nl ebcdic-cp-us ebcdic-cp-wt
-IBM038/CR-LF 038/CR-LF CP038/CR-LF EBCDIC-INT
-IBM256/CR-LF 256/CR-LF CP256/CR-LF EBCDIC-INT1
-IBM273/CR-LF 273/CR-LF CP273/CR-LF
-IBM274/CR-LF 274/CR-LF CP274/CR-LF EBCDIC-BE
-IBM275/CR-LF 275/CR-LF CP275/CR-LF EBCDIC-BR
-IBM277/CR-LF EBCDIC-CP-DK EBCDIC-CP-NO
-IBM278/CR-LF 278/CR-LF CP278/CR-LF ebcdic-cp-fi ebcdic-cp-se
-IBM280/CR-LF 280/CR-LF CP280/CR-LF ebcdic-cp-it
-IBM281/CR-LF 281/CR-LF CP281/CR-LF EBCDIC-JP-E
-IBM284/CR-LF 284/CR-LF CP284/CR-LF ebcdic-cp-es
-IBM285/CR-LF 285/CR-LF CP285/CR-LF ebcdic-cp-gb
-IBM290/CR-LF 290/CR-LF CP290/CR-LF EBCDIC-JP-kana
-IBM297/CR-LF 297/CR-LF CP297/CR-LF ebcdic-cp-fr
-IBM420/CR-LF 420/CR-LF CP420/CR-LF ebcdic-cp-ar1
-IBM423/CR-LF 423/CR-LF CP423/CR-LF ebcdic-cp-gr
-IBM424/CR-LF 424/CR-LF CP424/CR-LF ebcdic-cp-he
-IBM437/CR-LF 437/CR-LF CP437/CR-LF
-IBM500/CR-LF 500/CR-LF 500V1 CP500/CR-LF ebcdic-cp-be ebcdic-cp-ch
-IBM850/CR-LF 850/CR-LF CP850/CR-LF csPC850Multilingual
-IBM851/CR-LF 851/CR-LF CP851/CR-LF
-IBM852/CR-LF 852/CR-LF CP852/CR-LF pcl2 pclatin2
-IBM855/CR-LF 855/CR-LF CP855/CR-LF
-IBM857/CR-LF 857/CR-LF CP857/CR-LF
-IBM860/CR-LF 860/CR-LF CP860/CR-LF
-IBM861/CR-LF 861/CR-LF CP861/CR-LF cp-is
-IBM862/CR-LF 862/CR-LF CP862/CR-LF
-IBM863/CR-LF 863/CR-LF CP863/CR-LF
-IBM864/CR-LF 864/CR-LF CP864/CR-LF
-IBM865/CR-LF 865/CR-LF CP865/CR-LF
-IBM868/CR-LF 868/CR-LF CP868/CR-LF cp-ar
-IBM869/CR-LF 869/CR-LF CP869/CR-LF cp-gr
-IBM870/CR-LF 870/CR-LF CP870/CR-LF ebcdic-cp-roece ebcdic-cp-yu
-IBM871/CR-LF 871/CR-LF CP871/CR-LF ebcdic-cp-is
-IBM875/CR-LF 875/CR-LF CP875/CR-LF EBCDIC-Greek
-IBM880/CR-LF 880/CR-LF CP880/CR-LF EBCDIC-Cyrillic
-IBM891/CR-LF 891/CR-LF CP891/CR-LF
-IBM903/CR-LF 903/CR-LF CP903/CR-LF
-IBM904/CR-LF 904/CR-LF CP904/CR-LF
-IBM905/CR-LF 905/CR-LF CP905/CR-LF ebcdic-cp-tr
-IBM918/CR-LF 918/CR-LF CP918/CR-LF ebcdic-cp-ar2
-IBM1004/CR-LF 1004/CR-LF CP1004/CR-LF os2latin1
-IBM1026/CR-LF 1026/CR-LF CP1026/CR-LF
-IBM1047/CR-LF 1047/CR-LF CP1047/CR-LF
-IBM-PC/CR-LF dos/CR-LF MSDOS/CR-LF pc/CR-LF
-Icon-QNX QNX
-IEC_P27-1 iso-ir-143
-INIS iso-ir-49
-INIS-8 iso-ir-50
-INIS-cyrillic iso-ir-51
-INVARIANT iso-ir-170
-ISO-2022-CN csISO2022CN ISO2022CN
-ISO-2022-CN-EXT
-ISO-2022-JP csISO2022JP ISO2022JP
-ISO-2022-JP-1
-ISO-2022-JP-2 csISO2022JP2
-ISO-2022-KR csISO2022KR ISO2022KR
-ISO-8859-1 819/CR-LF CP819/CR-LF csISOLatin1 IBM819/CR-LF ISO8859-1 iso-ir-100 ISO_8859-1 ISO_8859-1:1987 l1 lat1 latin1 Latin-1
-ISO-8859-2 912/CR-LF CP912/CR-LF csISOLatin2 IBM912/CR-LF ISO8859-2 iso-ir-101 ISO_8859-2 ISO_8859-2:1987 l2 latin2
-ISO-8859-3 csISOLatin3 ISO8859-3 iso-ir-109 ISO_8859-3 ISO_8859-3:1988 l3 latin3
-ISO-8859-4 csISOLatin4 ISO8859-4 iso-ir-110 ISO_8859-4 ISO_8859-4:1988 l4 latin4
-ISO-8859-5 csISOLatinCyrillic cyrillic ISO8859-5 iso-ir-144 ISO_8859-5 ISO_8859-5:1988
-ISO-8859-6 arabic ASMO-708 csISOLatinArabic ECMA-114 ISO8859-6 iso-ir-127 ISO_8859-6 ISO_8859-6:1987
-ISO-8859-7 csISOLatinGreek ECMA-118 ELOT_928 greek greek8 ISO8859-7 iso-ir-126 ISO_8859-7 ISO_8859-7:1987
-ISO-8859-8 csISOLatinHebrew hebrew ISO8859-8 iso-ir-138 ISO_8859-8 ISO_8859-8:1988
-ISO-8859-9 csISOLatin5 ISO8859-9 iso-ir-148 ISO_8859-9 ISO_8859-9:1989 l5 latin5
-ISO-8859-10 csISOLatin6 ISO8859-10 iso-ir-157 ISO_8859-10 ISO_8859-10:1992 ISO_8859-10:1993 L6 latin6
-ISO-8859-13 ISO8859-13 iso-baltic ISO-IR-179 iso-ir-179a ISO_8859-13 ISO_8859-13:1998 l7 latin7
-ISO-8859-14 ISO8859-14 iso-celtic iso-ir-199 ISO_8859-14 ISO_8859-14:1998 l8 latin8
-ISO-8859-15 ISO8859-15 iso-ir-203 ISO_8859-15 ISO_8859-15:1998 l9 latin9
-ISO-8859-16 ISO-IR-226 ISO_8859-16 ISO_8859-16:2000
-ISO-10646-UCS-2 BMP csUnicode csUnicode11 rune u2 UCS-2 UCS-2BE UNICODE-1-1 UNICODEBIG
-ISO-10646-UCS-4 10646 csUCS4 ISO_10646 u4 UCS UCS-4
-ISO-IR-165 CN-GB-ISOIR165
-ISO_646.basic ISO_646.basic:1983 ref
-ISO_646.irv irv iso-ir-2 ISO_646.irv:1983
-ISO_2033-1983 e13b iso-ir-98
-ISO_5427 iso-ir-37
-ISO_5427-ext iso-ir-54 ISO_5427:1981
-ISO_5428 iso-ir-55 ISO_5428:1980
-ISO_6937-2-25 iso-ir-152
-ISO_8859-supp iso-ir-154 latin1-2-5
-ISO_10367-box iso-ir-155
-IT ISO646-IT iso-ir-15
-JAVA
-JIS_C6220-1969-jp iso-ir-13 JIS_C6220-1969 katakana x0201-7
-JIS_C6220-1969-ro csISO14JISC6220ro ISO646-JP iso-ir-14 jp
-JIS_C6229-1984-a jp-ocr-a
-JIS_C6229-1984-b ISO646-JP-OCR-B jp-ocr-b
-JIS_C6229-1984-b-add iso-ir-93 jp-ocr-b-add
-JIS_C6229-1984-hand iso-ir-94 jp-ocr-hand
-JIS_C6229-1984-hand-add iso-ir-95 jp-ocr-hand-add
-JIS_C6229-1984-kana iso-ir-96
-JIS_X0201 csHalfWidthKatakana JIS0201 JISX0201-1976 JISX0201.1976-0 X0201
-JIS_X0208 csISO87JISX0208 ISO-IR-87 JIS0208 JISX0208.1983-0 JISX0208.1990-0 JIS_X0208-1983 JIS_X0208-1990 X0208
-JIS_X0212 csISO159JISX02121990 ISO-IR-159 JIS0212 JISX0212.1990-0 JIS_X0212-1990 JIS_X0212.1990-0 X0212
-JOHAB CP1361
-JUS_I.B1.002 ISO646-YU iso-ir-141 js yu
-JUS_I.B1.003-mac iso-ir-147 macedonian
-JUS_I.B1.003-serb iso-ir-146 serbian
-KEYBCS2 Kamenicky
-KOI8-R csKOI8R
-KOI8-RU
-KOI8-U
-KOI-7
-KOI-8 GOST_19768-74
-KOI-8_CS2
-KSC5636 ISO646-KR
-KSC_5601 csKSC56011987 ISO-IR-149 KOREAN KSC5601.1987-0 KSX1001:1992 KS_C_5601-1987 KS_C_5601-1989
-LaTeX ltex TeX
-latin-greek iso-ir-19
-Latin-greek-1 iso-ir-27
-mac-is
-MacArabic
-MacCentralEurope
-MacCroatian
-MacCyrillic
-MacGreek
-MacHebrew
-MacIceland
-macintosh/CR csMacintosh mac/CR MacRoman
-macintosh_ce/CR macce/CR
-MacRomania
-MacThai
-MacTurkish
-MacUkraine
-MSZ_7795.3 hu ISO646-HU iso-ir-86
-Mule
-MuleLao-1
-NATS-DANO iso-ir-9-1
-NATS-DANO-ADD iso-ir-9-2
-NATS-SEFI iso-ir-8-1
-NATS-SEFI-ADD iso-ir-8-2
-NC_NC00-10 cuba ISO646-CU iso-ir-151 NC_NC00-10:81
-NeXTSTEP next
-NF_Z_62-010 fr ISO646-FR iso-ir-69
-NF_Z_62-010_(1973) ISO646-FR1 iso-ir-25
-NS_4551-1 ISO646-NO iso-ir-60 no
-NS_4551-2 ISO646-NO2 iso-ir-61 no2
-PT ISO646-PT iso-ir-16
-PT2 ISO646-PT2 iso-ir-84
-RFC1345 1345 mnemonic
-sami iso-ir-158 lap latin-lap
-SEN_850200_B FI ISO646-FI ISO646-SE iso-ir-10 se SS636127
-SEN_850200_C ISO646-SE2 iso-ir-11 se2
-SJIS csShiftJIS MS_KANJI SHIFT-JIS SHIFT_JIS
-T.61-7bit iso-ir-102
-TCVN TCVN5712-1 TCVN5712-1:1993 TCVN-5712
-Texinfo texi ti
-Texte txte
-TIS-620 ISO-IR-166 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1
-tree
-UCS-2-INTERNAL
-UCS-2-SWAPPED
-UCS-2LE UNICODELITTLE
-UCS-4-INTERNAL
-UCS-4-SWAPPED
-UCS-4BE
-UCS-4LE
-UNICODE-1-1-UTF-7 csUnicode11UTF7 TF-7 u7 UTF-7
-UTF-8 FSS_UTF TF-8 u8 UTF-2 UTF-FSS
-UTF-16 TF-16 u6 Unicode
-UTF-16BE
-UTF-16LE
-VIQR
-VISCII csVISCII VISCII1.1-1
-VNI
-VPS
-WCHAR_T
-XML-standalone h0
-EOF
-
-AT_CHECK(recode -l, 0, expout)
-
-AT_CLEANUP()
-
-AT_SETUP(the --find-subsets option)
-dnl      -------------------------
-
-changequote(, )dnl
-cat >expout <<'EOF'
+expected = '''\
 [  0] ANSI_X3.4-1968 == IBM891
 [  0] ANSI_X3.4-1968 == IBM903
 [  0] IBM891 == ANSI_X3.4-1968
@@ -739,9 +448,11 @@ cat >expout <<'EOF'
 [173] ISO_646.basic < VISCII
 [173] ISO_646.basic < baltic
 [173] ISO_646.basic < macintosh_ce
-EOF
-changequote([, ])dnl
-
-AT_CHECK(recode -T | sort, 0, expout)
+'''
 
-AT_CLEANUP()
+def test_1():
+    output = common.external_output('$R -T')
+    # FIXME: The output is not sorted appropriately.
+    output2 = ''.join(sorted(output.splitlines(True)))
+    expected2 = ''.join(sorted(expected.splitlines(True)))
+    common.assert_or_diff(output2, expected2)
diff --git a/tests/t30_base64.py b/tests/t30_base64.py
new file mode 100644 (file)
index 0000000..6c933db
--- /dev/null
@@ -0,0 +1,72 @@
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
+
+class Test:
+
+    inputs = [
+        '\n',
+        'a\n',
+        'ab\n',
+        'abc\n',
+        'abcd\n',
+        'abcdefghi\n',
+        'abcdefghijklmnopqrs\n',
+        'abcdefghijklmnopqrstuvwzyzABC\n',
+        'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLM\n',
+        'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVW\n',
+        'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456\n',
+    ]
+
+    def test_1(self):
+        # Single lines to Base64.
+        common.request('../64')
+        output = ['''\
+Cg==
+''', '''\
+YQo=
+''', '''\
+YWIK
+''', '''\
+YWJjCg==
+''', '''\
+YWJjZAo=
+''', '''\
+YWJjZGVmZ2hpCg==
+''', '''\
+YWJjZGVmZ2hpamtsbW5vcHFycwo=
+''', '''\
+YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkMK
+''', '''\
+YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNCg==
+''', '''\
+YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWVwo=
+''', '''\
+YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
+NTYK
+'''
+                  ]
+        for input, output in zip(self.inputs, output):
+            common.validate(input, output)
+
+    def test_2(self):
+        # Block of lines to Base64.
+        common.request('/../64')
+        output = '''\
+CmEKYWIKYWJjCmFiY2QKYWJjZGVmZ2hpCmFiY2RlZmdoaWprbG1ub3BxcnMKYWJjZGVmZ2hpamts
+bW5vcHFyc3R1dnd6eXpBQkMKYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xN
+CmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3enl6QUJDREVGR0hJSktMTU5PUFFSU1RVVlcKYWJjZGVm
+Z2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTYK
+'''
+        common.validate(''.join(self.inputs), output)
+
+    def test_3(self):
+        # Single lines to Base64 and back.
+        common.request('/../64')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_4(self):
+        # Block of lines to Base64 and back.
+        common.request('/../64')
+        common.validate_back(''.join(self.inputs))
similarity index 64%
rename from tests/dumps.m4
rename to tests/t30_dumps.py
index c735d66fd0c900382d732e6ea775858026ef1925..7a70a35ff6b80680d02bd5632569c3089e1871eb 100644 (file)
@@ -1,44 +1,70 @@
-#                                                      -*- shell-script -*-
-
-AT_SETUP(single lines to Decimal-1)
-dnl      -------------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../d1 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[ 10
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
+
+class Data:
+
+    inputs = [
+         '\n',
+         'a\n',
+         'ab\n',
+         'abc\n',
+         'abcd\n',
+         'abcdefghi\n',
+         'abcdefghijklmnopqrs\n',
+         'abcdefghijklmnopqrstuvwzyzABC\n',
+         'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLM\n',
+         'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVW\n',
+         'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456\n',
+         ]
+
+class Test_Decimal(Data):
+
+    def test_d1_1(self):
+        # Single lines to Decimal-1.
+        common.request('../d1')
+        outputs = ['''\
+ 10
+''', '''\
  97,  10
+''', '''\
  97,  98,  10
+''', '''\
  97,  98,  99,  10
+''', '''\
  97,  98,  99, 100,  10
+''', '''\
  97,  98,  99, 100, 101, 102, 103, 104, 105,  10
+''', '''\
  97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
 112, 113, 114, 115,  10
+''', '''\
  97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
 112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  10
+''', '''\
  97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
 112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
  69,  70,  71,  72,  73,  74,  75,  76,  77,  10
+''', '''\
  97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
 112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,
  84,  85,  86,  87,  10
+''', '''\
  97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
 112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,
  84,  85,  86,  87,  88,  89,  90,  48,  49,  50,  51,  52,  53,  54,  10
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Decimal-1)
-dnl      ---------------------------
-
-AT_CHECK(
-[recode /../d1 < $at_srcdir/dumps-data
-], 0,
-[ 10,  97,  10,  97,  98,  10,  97,  98,  99,  10,  97,  98,  99, 100,  10,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_d1_2(self):
+        # Block of lines to Decimal-1.
+        common.request('../d1')
+        input = ''.join(self.inputs)
+        output = '''\
+ 10,  97,  10,  97,  98,  10,  97,  98,  99,  10,  97,  98,  99, 100,  10,
  97,  98,  99, 100, 101, 102, 103, 104, 105,  10,  97,  98,  99, 100, 101,
 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,  10,
  97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
@@ -53,77 +79,62 @@ AT_CHECK(
 112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,
  84,  85,  86,  87,  88,  89,  90,  48,  49,  50,  51,  52,  53,  54,  10
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Decimal-1 and back)
-dnl      ----------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../d1 output
-  recode /d1../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Decimal-1 and back)
-dnl      ------------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../d1 output
-recode /d1../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Decimal-2)
-dnl      -------------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../d2 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[ 10
+'''
+        common.validate(input, output)
+
+    def test_d1_3(self):
+        # Single lines to Decimal-1 and back.
+        common.request('../d1')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_d1_4(self):
+        # Block of lines to Decimal-1 and back.
+        common.request('../d1')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+    def test_d2_1(self):
+        # Single lines to Decimal-2.
+        common.request('../d2')
+        outputs = ['''\
+ 10
+''', '''\
 24842
+''', '''\
 24930,  10
+''', '''\
 24930, 25354
+''', '''\
 24930, 25444,  10
+''', '''\
 24930, 25444, 25958, 26472, 26890
+''', '''\
 24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29450
+''', '''\
 24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
 30070, 30586, 31098, 16706, 17162
+''', '''\
 24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
 30070, 30586, 31098, 16706, 17220, 17734, 18248, 18762, 19276, 19722
+''', '''\
 24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
 30070, 30586, 31098, 16706, 17220, 17734, 18248, 18762, 19276, 19790,
 20304, 20818, 21332, 21846, 22282
+''', '''\
 24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
 30070, 30586, 31098, 16706, 17220, 17734, 18248, 18762, 19276, 19790,
 20304, 20818, 21332, 21846, 22360, 22874, 12337, 12851, 13365, 13834
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Decimal-2)
-dnl      ---------------------------
-
-AT_CHECK(
-[recode /../d2 < $at_srcdir/dumps-data
-], 0,
-[ 2657,  2657, 25098, 24930, 25354, 24930, 25444,  2657, 25187, 25701,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_d2_2(self):
+        # Block of lines to Decimal-2.
+        common.request('../d2')
+        input = ''.join(self.inputs)
+        output = '''\
+ 2657,  2657, 25098, 24930, 25354, 24930, 25444,  2657, 25187, 25701,
 26215, 26729,  2657, 25187, 25701, 26215, 26729, 27243, 27757, 28271,
 28785, 29299,  2657, 25187, 25701, 26215, 26729, 27243, 27757, 28271,
 28785, 29299, 29813, 30327, 31353, 31297, 16963,  2657, 25187, 25701,
@@ -135,77 +146,62 @@ AT_CHECK(
 28785, 29299, 29813, 30327, 31353, 31297, 16963, 17477, 17991, 18505,
 19019, 19533, 20047, 20561, 21075, 21589, 22103, 22617, 23088, 12594,
 13108, 13622,  10
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Decimal-2 and back)
-dnl      ----------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../d2 output
-  recode /d2../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Decimal-2 and back)
-dnl      ------------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../d2 output
-recode /d2../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Decimal-4)
-dnl      -------------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../d4 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[ 10
+'''
+        common.validate(input, output)
+
+    def test_d2_3(self):
+        # Single lines to Decimal-2 and back.
+        common.request('../d2')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_d2_4(self):
+        # Block of lines to Decimal-2 and back.
+        common.request('../d2')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+    def test_d4_1(self):
+        # Single lines to Decimal-4.
+        common.request('../d4')
+        outputs = ['''\
+ 10
+''', '''\
 24842
+''', '''\
  6382090
+''', '''\
 1633837834
+''', '''\
 1633837924,  10
+''', '''\
 1633837924, 1701209960, 26890
+''', '''\
 1633837924, 1701209960, 1768581996, 1835954032, 1903325962
+''', '''\
 1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
 1970698106, 2038055234, 17162
+''', '''\
 1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
 1970698106, 2038055234, 1128547654, 1195919690, 1263291658
+''', '''\
 1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
 1970698106, 2038055234, 1128547654, 1195919690, 1263291726,
 1330663762, 1398035798, 22282
+''', '''\
 1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
 1970698106, 2038055234, 1128547654, 1195919690, 1263291726,
 1330663762, 1398035798, 1465407834,  808530483,  875902474
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Decimal-4)
-dnl      ---------------------------
-
-AT_CHECK(
-[recode /../d4 < $at_srcdir/dumps-data
-], 0,
-[ 174131809, 1644847458, 1661624674, 1667500641, 1650680933,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_d4_2(self):
+        # Block of lines to Decimal-4.
+        common.request('../d4')
+        input = ''.join(self.inputs)
+        output = '''\
+ 174131809, 1644847458, 1661624674, 1667500641, 1650680933,
 1718052969,  174154339, 1684366951, 1751738987, 1819111023,
 1886483059,  174154339, 1684366951, 1751738987, 1819111023,
 1886483059, 1953855095, 2054781505, 1111689825, 1650680933,
@@ -217,85 +213,72 @@ AT_CHECK(
 1886483059, 1953855095, 2054781505, 1111704645, 1179076681,
 1246448717, 1313820753, 1381192789, 1448564825, 1513107762,
  859059510,  10
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Decimal-4 and back)
-dnl      ----------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../d4 output
-  recode /d4../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Decimal-4 and back)
-dnl      ------------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../d4 output
-recode /d4../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Hexadecimal-1)
-dnl      -----------------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../x1 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[0x0A
+'''
+        common.validate(input, output)
+
+    def test_d4_3(self):
+        # Single lines to Decimal-4 and back.
+        common.request('../d4')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_d4_4(self):
+        # Block of lines to Decimal-4 and back.
+        common.request('../d4')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+class Test_Hexadecimal(Data):
+
+    def test_x1_1(self):
+        # Single lines to Hexadecimal-1.
+        common.request('../x1')
+        outputs = ['''\
+0x0A
+''', '''\
 0x61, 0x0A
+''', '''\
 0x61, 0x62, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x64, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
 0x79, 0x7A, 0x41, 0x42, 0x43, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
 0x79, 0x7A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A,
 0x4B, 0x4C, 0x4D, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
 0x79, 0x7A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A,
 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
 0x57, 0x0A
+''', '''\
 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
 0x79, 0x7A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A,
 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
 0x57, 0x58, 0x59, 0x5A, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x0A
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Hexadecimal-1)
-dnl      -------------------------------
-
-AT_CHECK(
-[recode /../x1 < $at_srcdir/dumps-data
-], 0,
-[0x0A, 0x61, 0x0A, 0x61, 0x62, 0x0A, 0x61, 0x62, 0x63, 0x0A, 0x61, 0x62,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_x1_2(self):
+        # Block of lines to Hexadecimal-1.
+        common.request('../x1')
+        input = ''.join(self.inputs)
+        output = '''\
+0x0A, 0x61, 0x0A, 0x61, 0x62, 0x0A, 0x61, 0x62, 0x63, 0x0A, 0x61, 0x62,
 0x63, 0x64, 0x0A, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
 0x0A, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B,
 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x0A, 0x61, 0x62, 0x63,
@@ -314,81 +297,66 @@ AT_CHECK(
 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
 0x5A, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x0A
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Hexadecimal-1 and back)
-dnl      --------------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../x1 output
-  recode /x1../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Hexadecimal-1 and back)
-dnl      ----------------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../x1 output
-recode /x1../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Hexadecimal-2)
-dnl      -----------------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../x2 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[0x0A
+'''
+        common.validate(input, output)
+
+    def test_x1_3(self):
+        # Single lines to Hexadecimal-1 and back.
+        common.request('../x1')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_x1_4(self):
+        # Block of lines to Hexadecimal-1 and back.
+        common.request('../x1')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+    def test_x2_1(self):
+        # Single lines to Hexadecimal-2.
+        common.request('../x2')
+        outputs = ['''\
+0x0A
+''', '''\
 0x610A
+''', '''\
 0x6162, 0x0A
+''', '''\
 0x6162, 0x630A
+''', '''\
 0x6162, 0x6364, 0x0A
+''', '''\
 0x6162, 0x6364, 0x6566, 0x6768, 0x690A
+''', '''\
 0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
 0x7172, 0x730A
+''', '''\
 0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
 0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x430A
+''', '''\
 0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
 0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x4344, 0x4546,
 0x4748, 0x494A, 0x4B4C, 0x4D0A
+''', '''\
 0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
 0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x4344, 0x4546,
 0x4748, 0x494A, 0x4B4C, 0x4D4E, 0x4F50, 0x5152, 0x5354, 0x5556,
 0x570A
+''', '''\
 0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
 0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x4344, 0x4546,
 0x4748, 0x494A, 0x4B4C, 0x4D4E, 0x4F50, 0x5152, 0x5354, 0x5556,
 0x5758, 0x595A, 0x3031, 0x3233, 0x3435, 0x360A
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Hexadecimal-2)
-dnl      -------------------------------
-
-AT_CHECK(
-[recode /../x2 < $at_srcdir/dumps-data
-], 0,
-[0x0A61, 0x0A61, 0x620A, 0x6162, 0x630A, 0x6162, 0x6364, 0x0A61,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_x2_2(self):
+        # Block of lines to Hexadecimal-2.
+        common.request('../x2')
+        input = ''.join(self.inputs)
+        output = '''\
+0x0A61, 0x0A61, 0x620A, 0x6162, 0x630A, 0x6162, 0x6364, 0x0A61,
 0x6263, 0x6465, 0x6667, 0x6869, 0x0A61, 0x6263, 0x6465, 0x6667,
 0x6869, 0x6A6B, 0x6C6D, 0x6E6F, 0x7071, 0x7273, 0x0A61, 0x6263,
 0x6465, 0x6667, 0x6869, 0x6A6B, 0x6C6D, 0x6E6F, 0x7071, 0x7273,
@@ -403,77 +371,62 @@ AT_CHECK(
 0x4243, 0x4445, 0x4647, 0x4849, 0x4A4B, 0x4C4D, 0x4E4F, 0x5051,
 0x5253, 0x5455, 0x5657, 0x5859, 0x5A30, 0x3132, 0x3334, 0x3536,
 0x0A
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Hexadecimal-2 and back)
-dnl      --------------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../x2 output
-  recode /x2../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Hexadecimal-2 and back)
-dnl      ----------------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../x2 output
-recode /x2../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Hexadecimal-4)
-dnl      -----------------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../x4 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[0x0A
+'''
+        common.validate(input, output)
+
+    def test_x2_3(self):
+        # Single lines to Hexadecimal-2 and back.
+        common.request('../x2')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_x2_4(self):
+        # Block of lines to Hexadecimal-2 and back.
+        common.request('../x2')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+    def test_x4_1(self):
+        # Single lines to Hexadecimal-4.
+        common.request('../x4')
+        outputs = ['''\
+0x0A
+''', '''\
 0x610A
+''', '''\
 0x61620A
+''', '''\
 0x6162630A
+''', '''\
 0x61626364, 0x0A
+''', '''\
 0x61626364, 0x65666768, 0x690A
+''', '''\
 0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x7172730A
+''', '''\
 0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
 0x797A4142, 0x430A
+''', '''\
 0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
 0x797A4142, 0x43444546, 0x4748494A, 0x4B4C4D0A
+''', '''\
 0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
 0x797A4142, 0x43444546, 0x4748494A, 0x4B4C4D4E, 0x4F505152, 0x53545556,
 0x570A
+''', '''\
 0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
 0x797A4142, 0x43444546, 0x4748494A, 0x4B4C4D4E, 0x4F505152, 0x53545556,
 0x5758595A, 0x30313233, 0x3435360A
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Hexadecimal-4)
-dnl      -------------------------------
-
-AT_CHECK(
-[recode /../x4 < $at_srcdir/dumps-data
-], 0,
-[0x0A610A61, 0x620A6162, 0x630A6162, 0x63640A61, 0x62636465, 0x66676869,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_x4_2(self):
+        # Block of lines to Hexadecimal-4.
+        common.request('../x4')
+        input = ''.join(self.inputs)
+        output = '''\
+0x0A610A61, 0x620A6162, 0x630A6162, 0x63640A61, 0x62636465, 0x66676869,
 0x0A616263, 0x64656667, 0x68696A6B, 0x6C6D6E6F, 0x70717273, 0x0A616263,
 0x64656667, 0x68696A6B, 0x6C6D6E6F, 0x70717273, 0x74757677, 0x7A797A41,
 0x42430A61, 0x62636465, 0x66676869, 0x6A6B6C6D, 0x6E6F7071, 0x72737475,
@@ -483,85 +436,72 @@ AT_CHECK(
 0x64656667, 0x68696A6B, 0x6C6D6E6F, 0x70717273, 0x74757677, 0x7A797A41,
 0x42434445, 0x46474849, 0x4A4B4C4D, 0x4E4F5051, 0x52535455, 0x56575859,
 0x5A303132, 0x33343536, 0x0A
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Hexadecimal-4 and back)
-dnl      --------------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../x4 output
-  recode /x4../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Hexadecimal-4 and back)
-dnl      ----------------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../x4 output
-recode /x4../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Octal-1)
-dnl      -----------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../o1 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[0012
+'''
+        common.validate(input, output)
+
+    def test_x4_3(self):
+        # Single lines to Hexadecimal-4 and back.
+        common.request('../x4')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_x4_4(self):
+        # Block of lines to Hexadecimal-4 and back.
+        common.request('../x4')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+class Test_Octal(Data):
+
+    def test_o1_1(self):
+        # Single lines to Octal-1.
+        common.request('../o1')
+        outputs = ['''\
+0012
+''', '''\
 0141, 0012
+''', '''\
 0141, 0142, 0012
+''', '''\
 0141, 0142, 0143, 0012
+''', '''\
 0141, 0142, 0143, 0144, 0012
+''', '''\
 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0012
+''', '''\
 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0012
+''', '''\
 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
 0171, 0172, 0101, 0102, 0103, 0012
+''', '''\
 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
 0171, 0172, 0101, 0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112,
 0113, 0114, 0115, 0012
+''', '''\
 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
 0171, 0172, 0101, 0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112,
 0113, 0114, 0115, 0116, 0117, 0120, 0121, 0122, 0123, 0124, 0125, 0126,
 0127, 0012
+''', '''\
 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
 0171, 0172, 0101, 0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112,
 0113, 0114, 0115, 0116, 0117, 0120, 0121, 0122, 0123, 0124, 0125, 0126,
 0127, 0130, 0131, 0132, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0012
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Octal-1)
-dnl      -------------------------
-
-AT_CHECK(
-[recode /../o1 < $at_srcdir/dumps-data
-], 0,
-[0012, 0141, 0012, 0141, 0142, 0012, 0141, 0142, 0143, 0012, 0141, 0142,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_o1_2(self):
+        # Block of lines to Octal-1.
+        common.request('../o1')
+        input = ''.join(self.inputs)
+        output = '''\
+0012, 0141, 0012, 0141, 0142, 0012, 0141, 0142, 0143, 0012, 0141, 0142,
 0143, 0144, 0012, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151,
 0012, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153,
 0154, 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0012, 0141, 0142, 0143,
@@ -580,81 +520,66 @@ AT_CHECK(
 0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112, 0113, 0114, 0115,
 0116, 0117, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0130, 0131,
 0132, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0012
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Octal-1 and back)
-dnl      --------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../o1 output
-  recode /o1../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Octal-1 and back)
-dnl      ----------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../o1 output
-recode /o1../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Octal-2)
-dnl      -----------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../o2 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[0012
+'''
+        common.validate(input, output)
+
+    def test_o1_3(self):
+        # Single lines to Octal-1 and back.
+        common.request('../o1')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_o1_4(self):
+        # Block of lines to Octal-1 and back.
+        common.request('../o1')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+    def test_o2_1(self):
+        # Single lines to Octal-2.
+        common.request('../o2')
+        outputs = ['''\
+0012
+''', '''\
 0060412
+''', '''\
 0060542, 0012
+''', '''\
 0060542, 0061412
+''', '''\
 0060542, 0061544, 0012
+''', '''\
 0060542, 0061544, 0062546, 0063550, 0064412
+''', '''\
 0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
 0070562, 0071412
+''', '''\
 0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
 0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041412
+''', '''\
 0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
 0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041504, 0042506,
 0043510, 0044512, 0045514, 0046412
+''', '''\
 0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
 0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041504, 0042506,
 0043510, 0044512, 0045514, 0046516, 0047520, 0050522, 0051524, 0052526,
 0053412
+''', '''\
 0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
 0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041504, 0042506,
 0043510, 0044512, 0045514, 0046516, 0047520, 0050522, 0051524, 0052526,
 0053530, 0054532, 0030061, 0031063, 0032065, 0033012
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Octal-2)
-dnl      -------------------------
-
-AT_CHECK(
-[recode /../o2 < $at_srcdir/dumps-data
-], 0,
-[0005141, 0005141, 0061012, 0060542, 0061412, 0060542, 0061544, 0005141,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_o2_2(self):
+        # Block of lines to Octal-2.
+        common.request('../o2')
+        input = ''.join(self.inputs)
+        output = '''\
+0005141, 0005141, 0061012, 0060542, 0061412, 0060542, 0061544, 0005141,
 0061143, 0062145, 0063147, 0064151, 0005141, 0061143, 0062145, 0063147,
 0064151, 0065153, 0066155, 0067157, 0070161, 0071163, 0005141, 0061143,
 0062145, 0063147, 0064151, 0065153, 0066155, 0067157, 0070161, 0071163,
@@ -669,81 +594,66 @@ AT_CHECK(
 0041103, 0042105, 0043107, 0044111, 0045113, 0046115, 0047117, 0050121,
 0051123, 0052125, 0053127, 0054131, 0055060, 0030462, 0031464, 0032466,
 0012
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Octal-2 and back)
-dnl      --------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../o2 output
-  recode /o2../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Octal-2 and back)
-dnl      ----------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../o2 output
-recode /o2../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
-
-AT_SETUP(single lines to Octal-4)
-dnl      -----------------------
-
-AT_CHECK(
-[( while read line; do echo $line | recode ../o4 || exit 1; done
-) < $at_srcdir/dumps-data
-], 0,
-[0012
+'''
+        common.validate(input, output)
+
+    def test_o2_3(self):
+        # Single lines to Octal-2 and back.
+        common.request('../o2')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_o2_4(self):
+        # Block of lines to Octal-2 and back.
+        common.request('../o2')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
+
+    def test_o4_1(self):
+        # Single lines to Octal-4.
+        common.request('../o4')
+        outputs = ['''\
+0012
+''', '''\
 0060412
+''', '''\
 030261012
+''', '''\
 014130461412
+''', '''\
 014130461544, 0012
+''', '''\
 014130461544, 014531463550, 0064412
+''', '''\
 014130461544, 014531463550, 015132465554, 015533467560,
 016134471412
+''', '''\
 014130461544, 014531463550, 015132465554, 015533467560,
 016134471564, 016535473572, 017136440502, 0041412
+''', '''\
 014130461544, 014531463550, 015132465554, 015533467560,
 016134471564, 016535473572, 017136440502, 010321042506,
 010722044512, 011323046412
+''', '''\
 014130461544, 014531463550, 015132465554, 015533467560,
 016134471564, 016535473572, 017136440502, 010321042506,
 010722044512, 011323046516, 011724050522, 012325052526,
 0053412
+''', '''\
 014130461544, 014531463550, 015132465554, 015533467560,
 016134471564, 016535473572, 017136440502, 010321042506,
 010722044512, 011323046516, 011724050522, 012325052526,
 012726054532, 006014231063, 006415233012
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Octal-4)
-dnl      -------------------------
-
-AT_CHECK(
-[recode /../o4 < $at_srcdir/dumps-data
-], 0,
-[001230205141, 014202460542, 014302460542, 014331005141,
+''']
+        for input, output in zip(self.inputs, outputs):
+            common.validate(input, output)
+
+    def test_o4_2(self):
+        # Block of lines to Octal-4.
+        common.request('../o4')
+        input = ''.join(self.inputs)
+        output = '''\
+001230205141, 014202460542, 014302460542, 014331005141,
 014230662145, 014631664151, 001230261143, 014431263147,
 015032265153, 015433267157, 016034271163, 001230261143,
 014431263147, 015032265153, 015433267157, 016034271163,
@@ -758,38 +668,17 @@ AT_CHECK(
 010220642105, 010621644111, 011222646115, 011623650121,
 012224652125, 012625654131, 013214030462, 006315032466,
 0012
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(single lines to Octal-4 and back)
-dnl      --------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../o4 output
-  recode /o4../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-])
-
-AT_CLEANUP(input output)
-
-AT_SETUP(block of lines to Octal-4 and back)
-dnl      ----------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../o4 output
-recode /o4../ output
-diff $at_srcdir/dumps-data output
-set +e
-])
-
-AT_CLEANUP(output)
+'''
+        common.validate(input, output)
+
+    def test_o4_3(self):
+        # Single lines to Octal-4 and back.
+        common.request('../o4')
+        for input in self.inputs:
+            common.validate_back(input)
+
+    def test_o4_4(self):
+        # Block of lines to Octal-4 and back.
+        common.request('../o4')
+        input = ''.join(self.inputs)
+        common.validate_back(input)
similarity index 59%
rename from tests/quoted.m4
rename to tests/t30_quoted.py
index 6d6772a4174e764542f4727d97728e9331da3265..8cb422e745a48761dc5730e6c2bace170a5ada94 100644 (file)
@@ -1,12 +1,22 @@
-#                                                      -*- shell-script -*-
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
 
-AT_SETUP(block of lines from Quoted Printable)
-dnl      ------------------------------------
+input = '''\
+Dear =DEorvard=F0ur,
 
-AT_CHECK(
-[recode qp..x1 < $at_srcdir/quoted-data
-], 0,
-[0x44, 0x65, 0x61, 0x72, 0x20, 0xDE, 0x6F, 0x72, 0x76, 0x61, 0x72, 0x64,
+=AB O=F9 qu'il r=E9side, =E0 N=EEmes ou m=EAme Capharna=FCm, tout Fran=E7ai=
+s inscrit
+au r=F4le payera son d=FB d=E8s avant No=EBl, qu'il soit na=EFf ou r=E2leur=
+. =BB
+Incomplete last line=
+'''
+
+def test_1():
+    # Block of lines from Quoted Printable.
+    common.request('qp..x1')
+    output = '''\
+0x44, 0x65, 0x61, 0x72, 0x20, 0xDE, 0x6F, 0x72, 0x76, 0x61, 0x72, 0x64,
 0xF0, 0x75, 0x72, 0x2C, 0x0A, 0x0A, 0xAB, 0x20, 0x4F, 0xF9, 0x20, 0x71,
 0x75, 0x27, 0x69, 0x6C, 0x20, 0x72, 0xE9, 0x73, 0x69, 0x64, 0x65, 0x2C,
 0x20, 0xE0, 0x20, 0x4E, 0xEE, 0x6D, 0x65, 0x73, 0x20, 0x6F, 0x75, 0x20,
@@ -21,21 +31,10 @@ AT_CHECK(
 0x72, 0xE2, 0x6C, 0x65, 0x75, 0x72, 0x2E, 0x20, 0xBB, 0x0A, 0x49, 0x6E,
 0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74, 0x65, 0x20, 0x6C, 0x61, 0x73,
 0x74, 0x20, 0x6C, 0x69, 0x6E, 0x65
-])
-
-AT_CLEANUP()
-
-AT_SETUP(block of lines from Quoted Printable and back)
-dnl      ---------------------------------------------
-
-AT_CHECK(
-[set -e
-cp $at_srcdir/quoted-data output
-chmod +w output
-recode qp..x1 output
-recode x1..qp output
-diff $at_srcdir/quoted-data output
-set +e
-])
+'''
+    common.validate(input, output)
 
-AT_CLEANUP(output)
+def test_2():
+    # Block of lines from Quoted Printable and back.
+    common.request('qp..x1')
+    common.validate_back(input)
similarity index 69%
rename from tests/african.m4
rename to tests/t40_african.py
index f728c02c558d5e88f380aef97f798e46eebc10c2..adfafca751f443c8b253e9c284358b464297268e 100644 (file)
@@ -1,9 +1,11 @@
-#                                                      -*- shell-script -*-
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
 
-AT_SETUP(Bambara)
-dnl      -------
+class Test_Bambara:
+    # Bambara.
 
-cat <<'EOF' >example
+    input = """\
 N ye n ka nsiirin nin da Amadu Tara la.  Jamanatigi d=F2 tun b=E8 yen muso
 k=F2n=F2nt=F2 de tun b=E8 a f=E8.  Muso k=F2n=F2nt=F2 b=E8=E8 ye denk=E8 ke=
 len kelen
@@ -12,9 +14,9 @@ ninw, u ba t=F2g=F2 de tun b=E8 da u kan ka u b=F2 ny=F2g=F2n na.  Amadu b=
 =E8=E8
 ncinin tun ye denk=E8 ninw b=E8=E8 la d=F2g=F2nin o de tun ye Amadu Tara ye.
 O tun ye jamanatigi nin ka taramuso den ye.
-EOF
+"""
 
-cat <<'EOF' >transcript
+    output = """\
 TiB5ZSBuIGthIG5zaWlyaW4gbmluIGRhIEFtYWR1IFRhcmEgbGEuICBKYW1hbmF0aWdpIGRvYCB0
 dW4gYmVgIHllbiBtdXNvCmtvYG5vYG50b2AgZGUgdHVuIGJlYCBhIGZlYC4gIE11c28ga29gbm9g
 bnRvYCBiZWBlYCB5ZSBkZW5rZWAga2VsZW4ga2VsZW4Kd29sbyBhIHllLiAgQSBkZW5rZWAga2Vs
@@ -23,55 +25,45 @@ IHRvYGdvYCBkZSB0dW4gYmVgIGRhIHUga2FuIGthIHUgYm9gIG55b2Bnb2BuIG5hLiAgQW1hZHUg
 YmVgZWAKbmNpbmluIHR1biB5ZSBkZW5rZWAgbmludyBiZWBlYCBsYSBkb2Bnb2BuaW4gbyBkZSB0
 dW4geWUgQW1hZHUgVGFyYSB5ZS4KTyB0dW4geWUgamFtYW5hdGlnaSBuaW4ga2EgdGFyYW11c28g
 ZGVuIHllLgo=
-EOF
+"""
 
-AT_CHECK(
-[cp transcript expout
-recode ../,bambara/qp..t-bambara/64 < example
-], 0, expout)
+    def test_1(self):
+        common.request('../,bambara/qp..t-bambara/64')
+        common.validate(self.input, self.output)
 
-AT_CHECK(
-[cp example expout
-recode ../,t-bambara/64..bambara/qp < transcript
-], 0, expout)
+    def test_2(self):
+        common.request('../,t-bambara/64..bambara/qp')
+        common.validate(self.output, self.input)
 
-AT_CLEANUP(expout example transcript)
+class Test_Peul_Fulfulde:
 
-AT_SETUP(Peul Fulfulde)
-dnl      -------------
-
-cat <<'EOF' >example
+    input = """\
 Woni =B2on haa =B1ooyi.  Oya mar=B2o jiwo kaanaro on maayi.  Suka no
 ton no wi=BDee Buubu Yee=B1e, on suka e nder sukaa=B1e aduna on alaa
 bur=B2o mo labeede.  On suka yahi safaari, o woni ton haa nee=B1i ---
 wa duu=B1i sappo o ko fawi! --- Yumma makko maraa =B1i=B2=B2o
 go=BDo si wonaa kanko.
-EOF
+"""
 
-cat <<'EOF' >transcript
+    output = """\
 V29uaSBkW29uIGhhYSBiW29veWkuICBPeWEgbWFyZFtvIGppd28ga2FhbmFybyBvbiBtYWF5aS4g
 IFN1a2Egbm8KdG9uIG5vIHdpP15lZSBCdXVidSBZZWViW2UsIG9uIHN1a2EgZSBuZGVyIHN1a2Fh
 YltlIGFkdW5hIG9uIGFsYWEKYnVyZFtvIG1vIGxhYmVlZGUuICBPbiBzdWthIHlhaGkgc2FmYWFy
 aSwgbyB3b25pIHRvbiBoYWEgbmVlYltpIC0tLQp3YSBkdXViW2kgc2FwcG8gbyBrbyBmYXdpISAt
 LS0gWXVtbWEgbWFra28gbWFyYWEgYltpZFtkW28KZ28/Xm8gc2kgd29uYWEga2Fua28uCg==
-EOF
-
-AT_CHECK(
-[cp transcript expout
-recode ../,fulfulde/qp..t-fulfulde/64 < example
-], 0, expout)
+"""
 
-AT_CHECK(
-[cp example expout
-recode ../,t-fulfulde/64..fulfulde/qp < transcript
-], 0, expout)
+    def test_1(self):
+        common.request('../,fulfulde/qp..t-fulfulde/64')
+        common.validate(self.input, self.output)
 
-AT_CLEANUP(expout example transcript)
+    def test_2(self):
+        common.request ('../,t-fulfulde/64..fulfulde/qp')
+        common.validate(self.output, self.input)
 
-AT_SETUP(Lingala)
-dnl      -------
+class Test_Lingala:
 
-cat <<'EOF' >example
+    input = """\
 Mob=E1li m=B6k=B6, azal=E1k=ED s=E9 y=E9m=B6k=B6 n=E1 bil=B6k=F8 m=EDngi.
 Mok=F8l=F8 m=B6k=B6 alob=ED: t=EDk=E1 n=E1k=F0nd=F0 koluka mw=E3s=ED.  Ak=
 =F0=ED.
@@ -82,9 +74,9 @@ Ntaba at=FAn=ED y=FD: ndeko, =F5kok=F0nd=F0 w=E1pi?  Moto alob=ED: n=E3kok=
 koluka mw=E3si yakob=E1la nay=E9.  Ntaba alob=ED: zil=E1 ng=E1=ED t=F3k=F0n=
 d=F0
 el=F8ng=B6.
-EOF
+"""
 
-cat <<'EOF' >transcript
+    output = """\
 TW9iYVwnbGkgbW9bJ2tvWycsIGF6YWxhXCdraVwnIHNlXCcgeWVcJ21vWydrb1snIG5hXCcgYmls
 b1sna29bIG1pXCduZ2kuCk1va29bbG9bIG1vWydrb1snIGFsb2JpXCc6IHRpXCdrYVwnIG5hXCdr
 ZVtuZGVbIGtvbHVrYSBtd2FcdnNpXCcuICBBa2VbaVwnLgpBdGFcJ21ib1wnbGlcJyBrYVwnIGth
@@ -93,24 +85,19 @@ TnRhYmEuCk50YWJhIGF0dVwnbmlcJyB5ZVx2OiBuZGVrbywgb1x2a29rZVtuZGVbIHdhXCdwaT8g
 IE1vdG8gYWxvYmlcJzogbmFcdmtva2VbbmRlWwprb2x1a2EgbXdhXHZzaSB5YWtvYmFcJ2xhIG5h
 eWVcJy4gIE50YWJhIGFsb2JpXCc6IHppbGFcJyBuZ2FcJ2lcJyB0b1wna2VbbmRlWwplbG9bbmdv
 WycuCg==
-EOF
-
-AT_CHECK(
-[cp transcript expout
-recode ../,lingala/qp..t-lingala/64 < example
-], 0, expout)
+"""
 
-AT_CHECK(
-[cp example expout
-recode ../,t-lingala/64..lingala/qp < transcript
-], 0, expout)
+    def test_1(self):
+        common.request('../,lingala/qp..t-lingala/64')
+        common.validate(self.input, self.output)
 
-AT_CLEANUP(expout example transcript)
+    def test_2(self):
+        common.request('../,t-lingala/64..lingala/qp')
+        common.validate(self.output, self.input)
 
-AT_SETUP(Sango)
-dnl      -----
+class Test_Sango:
 
-cat <<'EOF' >example
+    input = """\
 M=E2ley=F6mb=F6 ayeke mb=EAn=EE wakua t=EE let=E4a.  Lo yeke zo s=F4 lo y=
 =EA kua t=EE
 lo m=EEngi.  Azo t=EE y=E2 t=EE vaka s=F4 s=EF lo yeke l=E4ng=F6 da=E4 s=F4=
@@ -118,52 +105,42 @@ lo m=EEngi.  Azo t=EE y=E2 t=EE vaka s=F4 s=EF lo yeke l=E4ng=F6 da=E4 s=F4=
 t=EBn=EB t=EE lo m=EEngi ngbanga t=EE nz=F6n=EE dut=EF t=EE lo na y=E2ng=E2=
 da t=EE
 lo na =E2s=EBw=E4 t=EE lo.
-EOF
+"""
 
-cat <<'EOF' >transcript
+    output = """\
 TWFebGV5byJtYm8iIGF5ZWtlIG1iZV5uaV4gd2FrdWEgdGleIGxldGEiYS4gIExvIHlla2Ugem8g
 c29eIGxvIHllXiBrdWEgdGleCmxvIG1pXm5naS4gIEF6byB0aV4geWFeIHRpXiB2YWthIHNvXiBz
 aSIgbG8geWVrZSBsYSJuZ28iIGRhYSIgc29eIGF5ZV4KdGUibmUiIHRpXiBsbyBtaV5uZ2kgbmdi
 YW5nYSB0aV4gbnpvIm5pXiBkdXRpIiB0aV4gbG8gbmEgeWFebmdhXmRhIHRpXgpsbyBuYSBhXnNl
 IndhIiB0aV4gbG8uCg==
-EOF
+"""
 
-AT_CHECK(
-[cp transcript expout
-recode ../,sango/qp..t-sango/64 < example
-], 0, expout)
+    def test_1(self):
+        common.request('../,sango/qp..t-sango/64')
+        common.validate(self.input, self.output)
 
-AT_CHECK(
-[cp example expout
-recode ../,t-sango/64..sango/qp < transcript
-], 0, expout)
+    def test_2(self):
+        common.request('../,t-sango/64..sango/qp')
+        common.validate(self.output, self.input)
 
-AT_CLEANUP(expout example transcript)
+class Test_Wolof:
 
-AT_SETUP(Wolof)
-dnl      -----
-
-cat <<'EOF' >example
+    input = """\
 Ca 1965 ba leegi, Suwaahili mooy l=E0kk r=E9=E9wum Tansani.  L=E0kk woowu
 la=BAuy j=E0ngalee ci daara yu ndaw yi ag yu yem yi.  Ci moom la =BAuy
 jottalee xabaar yi =BAuy wax ag yi =BAuy bind.
-EOF
-
-cat <<'EOF' >transcript
+"""
+    output = """\
 Q2EgMTk2NSBiYSBsZWVnaSwgU3V3YWFoaWxpIG1vb3kgbGFga2sgcmVcJ2VcJ3d1bSBUYW5zYW5p
 LiAgTGFga2sgd29vd3UKbGFuXnV5IGphYG5nYWxlZSBjaSBkYWFyYSB5dSBuZGF3IHlpIGFnIHl1
 IHllbSB5aS4gIENpIG1vb20gbGEgbl51eQpqb3R0YWxlZSB4YWJhYXIgeWkgbl51eSB3YXggYWcg
 eWkgbl51eSBiaW5kLgo=
-EOF
-
-AT_CHECK(
-[cp transcript expout
-recode ../,wolof/qp..t-wolof/64 < example
-], 0, expout)
+"""
 
-AT_CHECK(
-[cp example expout
-recode ../,t-wolof/64..wolof/qp < transcript
-], 0, expout)
+    def test_1(self):
+        common.request('../,wolof/qp..t-wolof/64')
+        common.validate(self.input, self.output)
 
-AT_CLEANUP(expout example transcript)
+    def test_2(self):
+        common.request('../,t-wolof/64..wolof/qp')
+        common.validate(self.output, self.input)
diff --git a/tests/t40_combine.py b/tests/t40_combine.py
new file mode 100644 (file)
index 0000000..ec20a28
--- /dev/null
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
+
+def test_1():
+    # That combine does not crash.
+    common.request('co..l1')
+    common.validate('', '')
diff --git a/tests/t40_testdump.py b/tests/t40_testdump.py
new file mode 100644 (file)
index 0000000..cac7304
--- /dev/null
@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
+
+# Testing and counting.
+
+# FIXME: In internal, output is produced to stdout, not in the string.
+
+class Test_test7:
+
+    output = '''\
+ 11  000A LF   117  0020 SP   127  002C ,    152  0030 0     24  0031 1
+ 24  0032 2     24  0033 3     24  0034 4     24  0035 5     24  0036 6
+ 24  0037 7      8  0038 8      8  0039 9      8  0041 A      8  0042 B
+  8  0043 C      8  0044 D      8  0045 E      8  0046 F    128  0078 x
+'''
+
+    def test_1(self):
+        common.external(True)
+        common.request('test7..x,us..count')
+        common.validate('', self.output)
+
+class Test_test8:
+
+    output = '''\
+ 22  000A LF   234  0020 SP   255  002C ,    288  0030 0     32  0031 1
+ 32  0032 2     32  0033 3     32  0034 4     32  0035 5     32  0036 6
+ 32  0037 7     32  0038 8     32  0039 9     32  0041 A     32  0042 B
+ 32  0043 C     32  0044 D     32  0045 E     32  0046 F    256  0078 x
+'''
+
+    def test_1(self):
+        common.external(True)
+        common.request('test8..x,us..count')
+        common.validate('', self.output)
+
+class Test_test15:
+
+    output = '''\
+ 8064  000A LF   56445  0020 SP   64508  002C ,    80765  0030 0
+16256  0031 1    16256  0032 2    16256  0033 3    16256  0034 4
+16256  0035 5    16256  0036 6    16256  0037 7    16256  0038 8
+16256  0039 9    16256  0041 A    16256  0042 B    16000  0043 C
+14975  0044 D    15999  0045 E    15990  0046 F    64509  0078 x
+'''
+
+    def test_1(self):
+        common.external(True)
+        common.request('test15..x2,us..count')
+        common.validate('', self.output)
+
+class Test_test16:
+
+    output = '''\
+ 8192  000A LF   57344  0020 SP   65535  002C ,    81920  0030 0
+16384  0031 1    16384  0032 2    16384  0033 3    16384  0034 4
+16384  0035 5    16384  0036 6    16384  0037 7    16384  0038 8
+16384  0039 9    16384  0041 A    16384  0042 B    16384  0043 C
+16384  0044 D    16384  0045 E    16384  0046 F    65536  0078 x
+'''
+
+    def test_1(self):
+        common.external(True)
+        common.request('test16..x2,us..count')
+        common.validate('', self.output)
diff --git a/tests/t40_utf7.py b/tests/t40_utf7.py
new file mode 100644 (file)
index 0000000..329b617
--- /dev/null
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
+
+inputs = [
+    '\n',
+    'A+ImIDkQ.\n',
+    'Hi Mom +Jjo!\n',
+    '+ZeVnLIqe\n',
+    'Item 3 is +AKM-1.\n',
+    ]
+
+outputs = [
+    '0xFEFF, 0x000A\n',
+    '0xFEFF, 0x0041, 0x2262, 0x0391, 0x002E, 0x000A\n',
+    ('0xFEFF, 0x0048, 0x0069, 0x0020, 0x004D, 0x006F, 0x006D, 0x0020,\n'
+     '0x263A, 0x0021, 0x000A\n'),
+    '0xFEFF, 0x65E5, 0x672C, 0x8A9E, 0x000A\n',
+    ('0xFEFF, 0x0049, 0x0074, 0x0065, 0x006D, 0x0020, 0x0033, 0x0020,\n'
+     '0x0069, 0x0073, 0x0020, 0x00A3, 0x0031, 0x002E, 0x000A\n')]
+
+class Test:
+
+    def setup_method(self, method):
+        common.request('u7..u6/x2')
+
+    def test_1(self):
+        # Single lines from UTF-7.
+        for input, output in zip(inputs, outputs):
+            yield common.validate, input, output
+
+    def test_2(self):
+        # Single lines from UTF-7 and back.
+        for input in inputs:
+            yield common.validate_back, input
+
+    def test_3(self):
+        # All lines at once and back.
+        yield common.validate_back, ''.join(inputs)
similarity index 60%
rename from tests/utf8.m4
rename to tests/t40_utf8.py
index c8932755b2b0ba385d18f28d6b39235fdce52a1b..b5ed18a9ad4083a6d1b9d41cc776f7af8b16b497 100644 (file)
@@ -1,12 +1,19 @@
-#                                                      -*- shell-script -*-
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
 
-AT_SETUP(block of lines to UTF-8)
-dnl      -----------------------
+input = '''\
+Dear =DEorvard=F0ur,
 
-AT_CHECK(
-[recode l1/qp..u8/x < $at_srcdir/quoted-data
-], 0,
-[0x44, 0x65, 0x61, 0x72, 0x20, 0xC3, 0x9E, 0x6F, 0x72, 0x76, 0x61, 0x72,
+=AB O=F9 qu'il r=E9side, =E0 N=EEmes ou m=EAme Capharna=FCm, tout Fran=E7ai=
+s inscrit
+au r=F4le payera son d=FB d=E8s avant No=EBl, qu'il soit na=EFf ou r=E2leur=
+. =BB
+Incomplete last line=
+'''
+
+output = '''\
+0x44, 0x65, 0x61, 0x72, 0x20, 0xC3, 0x9E, 0x6F, 0x72, 0x76, 0x61, 0x72,
 0x64, 0xC3, 0xB0, 0x75, 0x72, 0x2C, 0x0A, 0x0A, 0xC2, 0xAB, 0x20, 0x4F,
 0xC3, 0xB9, 0x20, 0x71, 0x75, 0x27, 0x69, 0x6C, 0x20, 0x72, 0xC3, 0xA9,
 0x73, 0x69, 0x64, 0x65, 0x2C, 0x20, 0xC3, 0xA0, 0x20, 0x4E, 0xC3, 0xAE,
@@ -22,22 +29,16 @@ AT_CHECK(
 0x6F, 0x75, 0x20, 0x72, 0xC3, 0xA2, 0x6C, 0x65, 0x75, 0x72, 0x2E, 0x20,
 0xC2, 0xBB, 0x0A, 0x49, 0x6E, 0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74,
 0x65, 0x20, 0x6C, 0x61, 0x73, 0x74, 0x20, 0x6C, 0x69, 0x6E, 0x65
-])
-
-AT_CLEANUP()
+'''
 
-AT_SETUP(block of lines to UTF-8 and back)
-dnl      --------------------------------
+class Test:
 
-AT_CHECK(
-[set -e
-cp $at_srcdir/quoted-data input
-cp $at_srcdir/quoted-data output
-chmod +w output
-recode l1/qp..u8 output
-recode u8..l1/qp output
-diff input output
-set +e
-])
+    def test_1(self):
+        # Block of lines to UTF-8.
+        common.request('l1/qp..u8/x')
+        common.validate(input, output)
 
-AT_CLEANUP(input output)
+    def test_2(self):
+        # Block of lines to UTF-8 and back.
+        common.request('l1/qp..u8/x')
+        common.validate_back(input)
diff --git a/tests/t60_methods.py b/tests/t60_methods.py
new file mode 100644 (file)
index 0000000..bed8f1a
--- /dev/null
@@ -0,0 +1,97 @@
+# -*- coding: utf-8 -*-
+import common
+from common import setup_module, teardown_module
+
+import os, sys
+input_name = '%s/../COPYING' % os.path.dirname(sys.argv[0])
+input = file(input_name, 'rb').read()
+
+def test_1():
+
+    # No step at all.
+    yield validate, 'texte..texte', 'memory', 'filter'
+    yield validate, 'texte..texte', 'memory', 'squash'
+    yield validate, 'texte..texte', 'files', 'filter'
+    yield validate, 'texte..texte', 'files', 'squash'
+    yield validate, 'texte..texte', 'pipe', 'filter'
+    yield validate, 'texte..texte', 'pipe', 'squash'
+
+    # One single step.
+    yield validate, 'latin1..ibmpc/', 'memory', 'filter'
+    yield validate, 'latin1..ibmpc/', 'memory', 'squash'
+    yield validate, 'latin1..ibmpc/', 'files', 'filter'
+    yield validate, 'latin1..ibmpc/', 'files', 'squash'
+    yield validate, 'latin1..ibmpc/', 'pipe', 'filter'
+    yield validate, 'latin1..ibmpc/', 'pipe', 'squash'
+
+    # One single step and a surface
+    yield validate, 'latin1..ibmpc', 'memory', 'filter'
+    yield validate, 'latin1..ibmpc', 'memory', 'squash'
+    yield validate, 'latin1..ibmpc', 'files', 'filter'
+    yield validate, 'latin1..ibmpc', 'files', 'squash'
+    yield validate, 'latin1..ibmpc', 'pipe', 'filter'
+    yield validate, 'latin1..ibmpc', 'pipe', 'squash'
+
+    # One single step.
+    yield validate, 'texte..latin1', 'memory', 'filter'
+    yield validate, 'texte..latin1', 'memory', 'squash'
+    yield validate, 'texte..latin1', 'files', 'filter'
+    yield validate, 'texte..latin1', 'files', 'squash'
+    yield validate, 'texte..latin1', 'pipe', 'filter'
+    yield validate, 'texte..latin1', 'pipe', 'squash'
+
+    # Two single steps.
+    yield validate, 'texte..bangbang', 'memory', 'filter'
+    yield validate, 'texte..bangbang', 'memory', 'squash'
+    yield validate, 'texte..bangbang', 'files', 'filter'
+    yield validate, 'texte..bangbang', 'files', 'squash'
+    yield validate, 'texte..bangbang', 'pipe', 'filter'
+    yield validate, 'texte..bangbang', 'pipe', 'squash'
+
+    # Two single steps and a surface.
+    yield validate, 'texte..ibmpc', 'memory', 'filter'
+    yield validate, 'texte..ibmpc', 'memory', 'squash'
+    yield validate, 'texte..ibmpc', 'files', 'filter'
+    yield validate, 'texte..ibmpc', 'files', 'squash'
+    yield validate, 'texte..ibmpc', 'pipe', 'filter'
+    yield validate, 'texte..ibmpc', 'pipe', 'squash'
+
+    # Three single steps.
+    yield validate, 'texte..iconqnx', 'memory', 'filter'
+    yield validate, 'texte..iconqnx', 'memory', 'squash'
+    yield validate, 'texte..iconqnx', 'files', 'filter'
+    yield validate, 'texte..iconqnx', 'files', 'squash'
+    yield validate, 'texte..iconqnx', 'pipe', 'filter'
+    yield validate, 'texte..iconqnx', 'pipe', 'squash'
+
+    # Four single steps, optimized into three (with libiconv) or two (without).
+    yield validate, 'ascii-bs..ebcdic', 'memory', 'filter'
+    yield validate, 'ascii-bs..ebcdic', 'memory', 'squash'
+    yield validate, 'ascii-bs..ebcdic', 'files', 'filter'
+    yield validate, 'ascii-bs..ebcdic', 'files', 'squash'
+    yield validate, 'ascii-bs..ebcdic', 'pipe', 'filter'
+    yield validate, 'ascii-bs..ebcdic', 'pipe', 'squash'
+
+def validate(request, sequence, mode):
+    before, after = request.split('..')
+    if mode == 'filter':
+        command = ('$R --quiet --force --sequence=%s < %s %s'
+                   '| $R --quiet --force --sequence=%s %s..%s'
+                   % (sequence, input_name, request, sequence, after, before))
+        print command
+        output = common.external_output(command)
+    elif mode == 'squash':
+        file(common.run.work, 'wb').write(input)
+        command1 = ('$R --quiet --force --sequence=%s %s %s'
+                    % (sequence, request, common.run.work))
+        command2 = ('$R --quiet --force --sequence=%s %s..%s %s'
+                    % (sequence, after, before, common.run.work))
+
+        print command1
+        print command2
+        common.external_output(command1)
+        common.external_output(command2)
+        output = file(common.run.work, 'rb').read()
+    else:
+        assert False, mode
+    common.assert_or_diff(output, input)
diff --git a/tests/test-one b/tests/test-one
deleted file mode 100755 (executable)
index 9746cac..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-# Execute a suite made up of one, or only a few `m4' files.
-# Copyright © 1998 Progiciels Bourbeau-Pinard inc.
-# François Pinard <pinard@iro.umontreal.ca>, 1998.
-
-if test -f atconfig; then
-  . ./atconfig
-else
-  echo >&2 'Execute from the testing directory in the build hierarchy.'
-  echo >&2 '  (a typical call is: ../../tests/test-one t-exclude.m4).'
-  exit 1
-fi
-
-grep AT_INIT $at_srcdir/suite.m4 \
-| m4 -I $at_srcdir atgeneral.m4 - $* | cat -s > one
-
-sh one
diff --git a/tests/testdump.m4 b/tests/testdump.m4
deleted file mode 100644 (file)
index 2e8d0de..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#                                                      -*- shell-script -*-
-
-AT_SETUP(testing and counting)
-dnl      --------------------
-
-AT_CHECK([recode test7..x,us..count < /dev/null], 0,
-[ 11  000A LF   117  0020 SP   127  002C ,    152  0030 0     24  0031 1
- 24  0032 2     24  0033 3     24  0034 4     24  0035 5     24  0036 6
- 24  0037 7      8  0038 8      8  0039 9      8  0041 A      8  0042 B
-  8  0043 C      8  0044 D      8  0045 E      8  0046 F    128  0078 x
-])
-
-AT_CHECK([recode test8..x,us..count < /dev/null], 0,
-[ 22  000A LF   234  0020 SP   255  002C ,    288  0030 0     32  0031 1
- 32  0032 2     32  0033 3     32  0034 4     32  0035 5     32  0036 6
- 32  0037 7     32  0038 8     32  0039 9     32  0041 A     32  0042 B
- 32  0043 C     32  0044 D     32  0045 E     32  0046 F    256  0078 x
-])
-
-AT_CHECK([recode test15..x2,us..count < /dev/null], 0,
-[ 8064  000A LF   56445  0020 SP   64508  002C ,    80765  0030 0
-16256  0031 1    16256  0032 2    16256  0033 3    16256  0034 4
-16256  0035 5    16256  0036 6    16256  0037 7    16256  0038 8
-16256  0039 9    16256  0041 A    16256  0042 B    16000  0043 C
-14975  0044 D    15999  0045 E    15990  0046 F    64509  0078 x
-])
-
-AT_CHECK([recode test16..x2,us..count < /dev/null], 0,
-[ 8192  000A LF   57344  0020 SP   65535  002C ,    81920  0030 0
-16384  0031 1    16384  0032 2    16384  0033 3    16384  0034 4
-16384  0035 5    16384  0036 6    16384  0037 7    16384  0038 8
-16384  0039 9    16384  0041 A    16384  0042 B    16384  0043 C
-16384  0044 D    16384  0045 E    16384  0046 F    65536  0078 x
-])
-
-AT_CLEANUP()
diff --git a/tests/testsuite b/tests/testsuite
deleted file mode 100644 (file)
index 2f4aebd..0000000
+++ /dev/null
@@ -1,8085 +0,0 @@
-#!/bin/sh
-#                                                      -*- coding: latin-1 -*-
-# Validation suite for the Free `recode' program and library.
-# Copyright © 1998, 1999, 2000 Progiciels Bourbeau-Pinard inc.
-# François Pinard <pinard@iro.umontreal.ca>, 1998.
-
-# Still many parts of `recode' are not exercised by the test suite.  A few
-# FIXME's, below, are used to list tests that we would need.  Do you feel
-# like contributing new tests?  If you do, you may tell your intent to
-# `recode-forum@iro.umontreal.ca', so no two people work at the same thing.
-
-. ./atconfig
-# Snippet (3
-
-at_usage="Usage: $0 OPTION...
-
-  -e  Abort the full suite and inhibit normal clean up if a test fails
-  -n  Do not redirect stdout and stderr and do not test their contents
-  -s  Inhibit verbosity while generating or executing debugging scripts
-  -v  Force more detailed output, default for debugging scripts unless -s
-  -x  Have the shell to trace command execution; also implies option -n"
-
-while test $# -gt 0; do
-  case "$1" in
-    --help) echo "$at_usage"; exit 0 ;;
-    --version) echo "$0 ($at_package) $at_version"; exit 0 ;;
-    -e) at_stop_on_error=1; shift ;;
-    -n) at_no_redirs=1; shift ;;
-    -s) at_verbose=; at_silent=1; shift ;;
-    -v) at_verbose=1; at_silent=; shift ;;
-    -x) at_traceon='set -vx'; at_traceoff='set +vx'; at_no_redirs=1; shift ;;
-    *) echo 1>&2 "Try \`$0 --help' for more information."; exit 1 ;;
-  esac
-done
-
-# In the testing suite, we only want to know if the test succeeded or failed.
-# But in debugging scripts, we want more information, so we prefer `diff -u'
-# to the silent `cmp', even if it may happen that we compare binary files.
-# Option `-u' might be less portable, so either change it or use GNU `diff'.
-
-if test -n "$at_verbose"; then
-  at_diff='diff -u'
-else
-  if test -n "$COMSPEC$ComSpec"; then
-    at_diff='diff -u'
-  else
-    at_diff='cmp -s'
-  fi
-fi
-
-# Each generated debugging script, containing a single test group, cleans
-# up files at the beginning only, not at the end.  This is so we can repeat
-# the script many times and browse left over files.  To cope with such left
-# over files, the full test suite cleans up both before and after test groups.
-# Snippet )3
-
-if test -n "`recode --version | sed -n s/$at_package.*$at_version/OK/p`"; then
-  at_banner="Testing suite for $at_package, version $at_version"
-  at_dashes=`echo $at_banner | sed s/./=/g`
-  echo "$at_dashes"
-  echo "$at_banner"
-  echo "$at_dashes"
-else
-  echo '======================================================='
-  echo 'ERROR: Not using the proper version, no tests performed'
-  echo '======================================================='
-  exit 1
-fi
-
-# Remove any debugging script resulting from a previous run.
-rm -f debug-*.sh
-
-at_failed_list=
-at_ignore_count=0
-
-# Tell the installer that `make bigtest' exists.
-echo
-echo "WARNING: The \`bigauto' test will be skipped, as it takes a long time to"
-echo "         complete.  To launch it, get into the build \`tests/' directory"
-echo "         and do either \`make bigtest' or \`make bigtest-strict'.  The"
-echo "         later forces \`-s' on all \`recode' calls."
-
-echo
-echo 'Charset listings.'
-echo
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c1(
-
-rm -rf stdout stderr expout
-# Snippet )c1)
-  echo names.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing list of charsets and surfaces'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "1. $srcdir/names.m4:3         $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d1(
-# Testing list of charsets and surfaces
-# Snippet )d1)
-# Snippet (s1(
-# starting from `names.m4:3'.
-$at_traceon
-
-cat >expout <<'EOF'
-/21-Permutation swabytes
-/4321-Permutation
-/Base64 64 b64
-/CR
-/CR-LF cl
-/Decimal-1 d d1
-/Decimal-2 d2
-/Decimal-4 d4
-/Hexadecimal-1 x x1
-/Hexadecimal-2 x2
-/Hexadecimal-4 x4
-/Octal-1 o o1
-/Octal-2 o2
-/Octal-4 o4
-/Quoted-Printable QP quote-printable
-/test7
-/test8
-/test15
-/test16
-:libiconv: :
-AFRFUL-102-BPI_OCIL bambara bra ewondo fulfulde
-AFRFUL-103-BPI_OCIL t-bambara t-bra t-ewondo t-fulfulde
-AFRL1-101-BPI_OCIL t-fra t-francais
-AFRLIN-104-BPI_OCIL lin lingala sango wolof
-AFRLIN-105-BPI_OCIL t-lin t-lingala t-sango t-wolof
-ANSI_X3.4-1968 367/CR-LF ANSI_X3.4-1986 ASCII CP367/CR-LF csASCII IBM367/CR-LF ISO646-US ISO646.1991-IRV iso-ir-6 ISO_646.irv:1991 us US-ASCII
-Apple-Mac/CR
-ARMSCII-8
-ASCII-BS BS
-ASMO_449 arabic7 iso-ir-89 ISO_9036
-AtariST
-baltic iso-ir-179
-Bang-Bang
-BIG5 BIG-5 BIG-FIVE BIGFIVE CN-BIG5 csBig5
-BIG5HKSCS
-BS_4730 gb ISO646-GB iso-ir-4 uk
-BS_viewdata iso-ir-47
-CDC-NOS NOS
-CHAR
-combined-UCS-2 co
-CORK T1
-count-characters
-CP866 866 csIBM866 IBM866
-CP874 WINDOWS-874
-CP932
-CP949 UHC
-CP950
-CP1133 IBM-CP1133
-CP1250/CR-LF 1250/CR-LF ms-ee windows-1250
-CP1251/CR-LF 1251/CR-LF ms-cyrl windows-1251
-CP1252/CR-LF 1252/CR-LF ms-ansi windows-1252
-CP1253/CR-LF 1253/CR-LF ms-greek windows-1253
-CP1254/CR-LF 1254/CR-LF ms-turk windows-1254
-CP1255/CR-LF 1255/CR-LF ms-hebr windows-1255
-CP1256/CR-LF 1256/CR-LF ms-arab windows-1256
-CP1257/CR-LF 1257/CR-LF WinBaltRim windows-1257
-CP1258 WINDOWS-1258
-CSA_Z243.4-1985-1 ca csa7-1 ISO646-CA iso-ir-121
-CSA_Z243.4-1985-2 csa7-2 ISO646-CA2 iso-ir-122
-CSA_Z243.4-1985-gr iso-ir-123
-CSN_369103 iso-ir-139 koi8l2 KOI-8_L2
-CWI cp-hu CWI-2
-data
-DEC-MCS dec
-DIN_66003 de ISO646-DE iso-ir-21
-DS_2089 dk DS2089 ISO646-DK
-dump-with-names
-EBCDIC
-EBCDIC-AT-DE
-EBCDIC-AT-DE-A
-EBCDIC-CA-FR
-EBCDIC-CCC
-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-IBM
-EBCDIC-IS-FRISS friss
-EBCDIC-IT
-EBCDIC-PT
-EBCDIC-UK
-EBCDIC-US
-ECMA-cyrillic ECMA-113 ECMA-113:1986 iso-ir-111
-ES ISO646-ES iso-ir-17
-ES2 ISO646-ES2 iso-ir-85
-EUC-CN CN-GB csGB2312 EUCCN EUC_CN GB2312
-EUC-JP csEUCPkdFmtJapanese EUCJP EUC_JP Extended_UNIX_Code_Packed_Format_for_Japanese
-EUC-KR csEUCKR EUCKR EUC_KR
-EUC-TW csEUCTW EUCTW EUC_TW
-flat
-GB18030
-GBK CP936
-GB_1988-80 cn csISO57GB1988 ISO646-CN iso-ir-57
-GB_2312-80 CHINESE csISO58GB231280 GB2312.1980-0 ISO-IR-58
-Georgian-Academy
-Georgian-PS
-GOST_19768-87 iso-ir-153 ST_SEV_358-88
-greek7 iso-ir-88
-greek7-old iso-ir-18
-greek-ccitt iso-ir-150
-hp-roman8 csHPRoman8 r8 roman8
-HTML-i18n 2070 RFC2070
-HTML_1.1 h1
-HTML_2.0 1866 h2 RFC1866
-HTML_3.2 h3
-HTML_4.0 h h4 HTML
-HZ HZ-GB-2312
-IBM037/CR-LF 037/CR-LF CP037/CR-LF ebcdic-cp-ca ebcdic-cp-nl ebcdic-cp-us ebcdic-cp-wt
-IBM038/CR-LF 038/CR-LF CP038/CR-LF EBCDIC-INT
-IBM256/CR-LF 256/CR-LF CP256/CR-LF EBCDIC-INT1
-IBM273/CR-LF 273/CR-LF CP273/CR-LF
-IBM274/CR-LF 274/CR-LF CP274/CR-LF EBCDIC-BE
-IBM275/CR-LF 275/CR-LF CP275/CR-LF EBCDIC-BR
-IBM277/CR-LF EBCDIC-CP-DK EBCDIC-CP-NO
-IBM278/CR-LF 278/CR-LF CP278/CR-LF ebcdic-cp-fi ebcdic-cp-se
-IBM280/CR-LF 280/CR-LF CP280/CR-LF ebcdic-cp-it
-IBM281/CR-LF 281/CR-LF CP281/CR-LF EBCDIC-JP-E
-IBM284/CR-LF 284/CR-LF CP284/CR-LF ebcdic-cp-es
-IBM285/CR-LF 285/CR-LF CP285/CR-LF ebcdic-cp-gb
-IBM290/CR-LF 290/CR-LF CP290/CR-LF EBCDIC-JP-kana
-IBM297/CR-LF 297/CR-LF CP297/CR-LF ebcdic-cp-fr
-IBM420/CR-LF 420/CR-LF CP420/CR-LF ebcdic-cp-ar1
-IBM423/CR-LF 423/CR-LF CP423/CR-LF ebcdic-cp-gr
-IBM424/CR-LF 424/CR-LF CP424/CR-LF ebcdic-cp-he
-IBM437/CR-LF 437/CR-LF CP437/CR-LF
-IBM500/CR-LF 500/CR-LF 500V1 CP500/CR-LF ebcdic-cp-be ebcdic-cp-ch
-IBM850/CR-LF 850/CR-LF CP850/CR-LF csPC850Multilingual
-IBM851/CR-LF 851/CR-LF CP851/CR-LF
-IBM852/CR-LF 852/CR-LF CP852/CR-LF pcl2 pclatin2
-IBM855/CR-LF 855/CR-LF CP855/CR-LF
-IBM857/CR-LF 857/CR-LF CP857/CR-LF
-IBM860/CR-LF 860/CR-LF CP860/CR-LF
-IBM861/CR-LF 861/CR-LF CP861/CR-LF cp-is
-IBM862/CR-LF 862/CR-LF CP862/CR-LF
-IBM863/CR-LF 863/CR-LF CP863/CR-LF
-IBM864/CR-LF 864/CR-LF CP864/CR-LF
-IBM865/CR-LF 865/CR-LF CP865/CR-LF
-IBM868/CR-LF 868/CR-LF CP868/CR-LF cp-ar
-IBM869/CR-LF 869/CR-LF CP869/CR-LF cp-gr
-IBM870/CR-LF 870/CR-LF CP870/CR-LF ebcdic-cp-roece ebcdic-cp-yu
-IBM871/CR-LF 871/CR-LF CP871/CR-LF ebcdic-cp-is
-IBM875/CR-LF 875/CR-LF CP875/CR-LF EBCDIC-Greek
-IBM880/CR-LF 880/CR-LF CP880/CR-LF EBCDIC-Cyrillic
-IBM891/CR-LF 891/CR-LF CP891/CR-LF
-IBM903/CR-LF 903/CR-LF CP903/CR-LF
-IBM904/CR-LF 904/CR-LF CP904/CR-LF
-IBM905/CR-LF 905/CR-LF CP905/CR-LF ebcdic-cp-tr
-IBM918/CR-LF 918/CR-LF CP918/CR-LF ebcdic-cp-ar2
-IBM1004/CR-LF 1004/CR-LF CP1004/CR-LF os2latin1
-IBM1026/CR-LF 1026/CR-LF CP1026/CR-LF
-IBM1047/CR-LF 1047/CR-LF CP1047/CR-LF
-IBM-PC/CR-LF dos/CR-LF MSDOS/CR-LF pc/CR-LF
-Icon-QNX QNX
-IEC_P27-1 iso-ir-143
-INIS iso-ir-49
-INIS-8 iso-ir-50
-INIS-cyrillic iso-ir-51
-INVARIANT iso-ir-170
-ISO-2022-CN csISO2022CN ISO2022CN
-ISO-2022-CN-EXT
-ISO-2022-JP csISO2022JP ISO2022JP
-ISO-2022-JP-1
-ISO-2022-JP-2 csISO2022JP2
-ISO-2022-KR csISO2022KR ISO2022KR
-ISO-8859-1 819/CR-LF CP819/CR-LF csISOLatin1 IBM819/CR-LF ISO8859-1 iso-ir-100 ISO_8859-1 ISO_8859-1:1987 l1 lat1 latin1 Latin-1
-ISO-8859-2 912/CR-LF CP912/CR-LF csISOLatin2 IBM912/CR-LF ISO8859-2 iso-ir-101 ISO_8859-2 ISO_8859-2:1987 l2 latin2
-ISO-8859-3 csISOLatin3 ISO8859-3 iso-ir-109 ISO_8859-3 ISO_8859-3:1988 l3 latin3
-ISO-8859-4 csISOLatin4 ISO8859-4 iso-ir-110 ISO_8859-4 ISO_8859-4:1988 l4 latin4
-ISO-8859-5 csISOLatinCyrillic cyrillic ISO8859-5 iso-ir-144 ISO_8859-5 ISO_8859-5:1988
-ISO-8859-6 arabic ASMO-708 csISOLatinArabic ECMA-114 ISO8859-6 iso-ir-127 ISO_8859-6 ISO_8859-6:1987
-ISO-8859-7 csISOLatinGreek ECMA-118 ELOT_928 greek greek8 ISO8859-7 iso-ir-126 ISO_8859-7 ISO_8859-7:1987
-ISO-8859-8 csISOLatinHebrew hebrew ISO8859-8 iso-ir-138 ISO_8859-8 ISO_8859-8:1988
-ISO-8859-9 csISOLatin5 ISO8859-9 iso-ir-148 ISO_8859-9 ISO_8859-9:1989 l5 latin5
-ISO-8859-10 csISOLatin6 ISO8859-10 iso-ir-157 ISO_8859-10 ISO_8859-10:1992 ISO_8859-10:1993 L6 latin6
-ISO-8859-13 ISO8859-13 iso-baltic ISO-IR-179 iso-ir-179a ISO_8859-13 ISO_8859-13:1998 l7 latin7
-ISO-8859-14 ISO8859-14 iso-celtic iso-ir-199 ISO_8859-14 ISO_8859-14:1998 l8 latin8
-ISO-8859-15 ISO8859-15 iso-ir-203 ISO_8859-15 ISO_8859-15:1998 l9 latin9
-ISO-8859-16 ISO-IR-226 ISO_8859-16 ISO_8859-16:2000
-ISO-10646-UCS-2 BMP csUnicode csUnicode11 rune u2 UCS-2 UCS-2BE UNICODE-1-1 UNICODEBIG
-ISO-10646-UCS-4 10646 csUCS4 ISO_10646 u4 UCS UCS-4
-ISO-IR-165 CN-GB-ISOIR165
-ISO_646.basic ISO_646.basic:1983 ref
-ISO_646.irv irv iso-ir-2 ISO_646.irv:1983
-ISO_2033-1983 e13b iso-ir-98
-ISO_5427 iso-ir-37
-ISO_5427-ext iso-ir-54 ISO_5427:1981
-ISO_5428 iso-ir-55 ISO_5428:1980
-ISO_6937-2-25 iso-ir-152
-ISO_8859-supp iso-ir-154 latin1-2-5
-ISO_10367-box iso-ir-155
-IT ISO646-IT iso-ir-15
-JAVA
-JIS_C6220-1969-jp iso-ir-13 JIS_C6220-1969 katakana x0201-7
-JIS_C6220-1969-ro csISO14JISC6220ro ISO646-JP iso-ir-14 jp
-JIS_C6229-1984-a jp-ocr-a
-JIS_C6229-1984-b ISO646-JP-OCR-B jp-ocr-b
-JIS_C6229-1984-b-add iso-ir-93 jp-ocr-b-add
-JIS_C6229-1984-hand iso-ir-94 jp-ocr-hand
-JIS_C6229-1984-hand-add iso-ir-95 jp-ocr-hand-add
-JIS_C6229-1984-kana iso-ir-96
-JIS_X0201 csHalfWidthKatakana JIS0201 JISX0201-1976 JISX0201.1976-0 X0201
-JIS_X0208 csISO87JISX0208 ISO-IR-87 JIS0208 JISX0208.1983-0 JISX0208.1990-0 JIS_X0208-1983 JIS_X0208-1990 X0208
-JIS_X0212 csISO159JISX02121990 ISO-IR-159 JIS0212 JISX0212.1990-0 JIS_X0212-1990 JIS_X0212.1990-0 X0212
-JOHAB CP1361
-JUS_I.B1.002 ISO646-YU iso-ir-141 js yu
-JUS_I.B1.003-mac iso-ir-147 macedonian
-JUS_I.B1.003-serb iso-ir-146 serbian
-KEYBCS2 Kamenicky
-KOI8-R csKOI8R
-KOI8-RU
-KOI8-U
-KOI-7
-KOI-8 GOST_19768-74
-KOI-8_CS2
-KSC5636 ISO646-KR
-KSC_5601 csKSC56011987 ISO-IR-149 KOREAN KSC5601.1987-0 KSX1001:1992 KS_C_5601-1987 KS_C_5601-1989
-LaTeX ltex TeX
-latin-greek iso-ir-19
-Latin-greek-1 iso-ir-27
-mac-is
-MacArabic
-MacCentralEurope
-MacCroatian
-MacCyrillic
-MacGreek
-MacHebrew
-MacIceland
-macintosh/CR csMacintosh mac/CR MacRoman
-macintosh_ce/CR macce/CR
-MacRomania
-MacThai
-MacTurkish
-MacUkraine
-MSZ_7795.3 hu ISO646-HU iso-ir-86
-Mule
-MuleLao-1
-NATS-DANO iso-ir-9-1
-NATS-DANO-ADD iso-ir-9-2
-NATS-SEFI iso-ir-8-1
-NATS-SEFI-ADD iso-ir-8-2
-NC_NC00-10 cuba ISO646-CU iso-ir-151 NC_NC00-10:81
-NeXTSTEP next
-NF_Z_62-010 fr ISO646-FR iso-ir-69
-NF_Z_62-010_(1973) ISO646-FR1 iso-ir-25
-NS_4551-1 ISO646-NO iso-ir-60 no
-NS_4551-2 ISO646-NO2 iso-ir-61 no2
-PT ISO646-PT iso-ir-16
-PT2 ISO646-PT2 iso-ir-84
-RFC1345 1345 mnemonic
-sami iso-ir-158 lap latin-lap
-SEN_850200_B FI ISO646-FI ISO646-SE iso-ir-10 se SS636127
-SEN_850200_C ISO646-SE2 iso-ir-11 se2
-SJIS csShiftJIS MS_KANJI SHIFT-JIS SHIFT_JIS
-T.61-7bit iso-ir-102
-TCVN TCVN5712-1 TCVN5712-1:1993 TCVN-5712
-Texinfo texi ti
-Texte txte
-TIS-620 ISO-IR-166 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1
-tree
-UCS-2-INTERNAL
-UCS-2-SWAPPED
-UCS-2LE UNICODELITTLE
-UCS-4-INTERNAL
-UCS-4-SWAPPED
-UCS-4BE
-UCS-4LE
-UNICODE-1-1-UTF-7 csUnicode11UTF7 TF-7 u7 UTF-7
-UTF-8 FSS_UTF TF-8 u8 UTF-2 UTF-FSS
-UTF-16 TF-16 u6 Unicode
-UTF-16BE
-UTF-16LE
-VIQR
-VISCII csVISCII VISCII1.1-1
-VNI
-VPS
-WCHAR_T
-XML-standalone h0
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/names.m4:290: testing..."
-echo names.m4:290 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode -l
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s1)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 1"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=1
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr expout
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c2(
-
-rm -rf stdout stderr expout
-# Snippet )c2)
-  echo names.m4:294 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing the --find-subsets option'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "2. $srcdir/names.m4:294       $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d2(
-# Testing the --find-subsets option
-# Snippet )d2)
-# Snippet (s2(
-# starting from `names.m4:294'.
-$at_traceon
-
-cat >expout <<'EOF'
-[  0] ANSI_X3.4-1968 == IBM891
-[  0] ANSI_X3.4-1968 == IBM903
-[  0] IBM891 == ANSI_X3.4-1968
-[  0] IBM891 == IBM903
-[  0] IBM903 == ANSI_X3.4-1968
-[  0] IBM903 == IBM891
-[  3] ANSI_X3.4-1968 < IBM904
-[  3] IBM891 < IBM904
-[  3] IBM903 < IBM904
-[  3] JIS_C6229-1984-hand-add < JIS_C6229-1984-b-add
-[  4] IBM1004 < CP1252
-[  6] INVARIANT < T.61-7bit
-[  6] T.61-7bit < ISO_646.irv
-[ 10] INVARIANT < JIS_C6229-1984-b
-[ 12] INVARIANT < ANSI_X3.4-1968
-[ 12] INVARIANT < BS_4730
-[ 12] INVARIANT < CSA_Z243.4-1985-1
-[ 12] INVARIANT < CSA_Z243.4-1985-2
-[ 12] INVARIANT < DIN_66003
-[ 12] INVARIANT < DS_2089
-[ 12] INVARIANT < ES
-[ 12] INVARIANT < ES2
-[ 12] INVARIANT < GB_1988-80
-[ 12] INVARIANT < IBM891
-[ 12] INVARIANT < IBM903
-[ 12] INVARIANT < ISO_646.irv
-[ 12] INVARIANT < IT
-[ 12] INVARIANT < JIS_C6220-1969-ro
-[ 12] INVARIANT < JUS_I.B1.002
-[ 12] INVARIANT < KSC5636
-[ 12] INVARIANT < MSZ_7795.3
-[ 12] INVARIANT < NATS-SEFI
-[ 12] INVARIANT < NC_NC00-10
-[ 12] INVARIANT < NF_Z_62-010
-[ 12] INVARIANT < NF_Z_62-010_(1973)
-[ 12] INVARIANT < NS_4551-1
-[ 12] INVARIANT < NS_4551-2
-[ 12] INVARIANT < PT
-[ 12] INVARIANT < PT2
-[ 12] INVARIANT < SEN_850200_B
-[ 12] INVARIANT < SEN_850200_C
-[ 12] JIS_C6229-1984-kana < JIS_C6220-1969-jp
-[ 13] INIS < ANSI_X3.4-1968
-[ 13] INIS < BS_4730
-[ 13] INIS < IBM891
-[ 13] INIS < IBM903
-[ 13] INIS < JIS_C6220-1969-ro
-[ 13] INIS < KSC5636
-[ 15] INVARIANT < IBM904
-[ 16] INIS < IBM904
-[ 28] GOST_19768-87 < ISO-8859-5
-[ 28] JIS_C6229-1984-hand < JIS_C6229-1984-b
-[ 33] ISO_646.basic < INVARIANT
-[ 39] ISO_646.basic < T.61-7bit
-[ 43] ISO_646.basic < JIS_C6229-1984-b
-[ 45] ISO_646.basic < ANSI_X3.4-1968
-[ 45] ISO_646.basic < BS_4730
-[ 45] ISO_646.basic < CSA_Z243.4-1985-1
-[ 45] ISO_646.basic < CSA_Z243.4-1985-2
-[ 45] ISO_646.basic < DIN_66003
-[ 45] ISO_646.basic < DS_2089
-[ 45] ISO_646.basic < ES
-[ 45] ISO_646.basic < ES2
-[ 45] ISO_646.basic < GB_1988-80
-[ 45] ISO_646.basic < IBM891
-[ 45] ISO_646.basic < IBM903
-[ 45] ISO_646.basic < ISO_646.irv
-[ 45] ISO_646.basic < IT
-[ 45] ISO_646.basic < JIS_C6220-1969-ro
-[ 45] ISO_646.basic < JUS_I.B1.002
-[ 45] ISO_646.basic < KSC5636
-[ 45] ISO_646.basic < MSZ_7795.3
-[ 45] ISO_646.basic < NATS-SEFI
-[ 45] ISO_646.basic < NC_NC00-10
-[ 45] ISO_646.basic < NF_Z_62-010
-[ 45] ISO_646.basic < NF_Z_62-010_(1973)
-[ 45] ISO_646.basic < NS_4551-1
-[ 45] ISO_646.basic < NS_4551-2
-[ 45] ISO_646.basic < PT
-[ 45] ISO_646.basic < PT2
-[ 45] ISO_646.basic < SEN_850200_B
-[ 45] ISO_646.basic < SEN_850200_C
-[ 48] ISO_646.basic < IBM904
-[ 57] EBCDIC-US < IBM424
-[ 61] ANSI_X3.4-1968 < ISO_10367-box
-[ 61] IBM891 < ISO_10367-box
-[ 61] IBM903 < ISO_10367-box
-[ 63] ANSI_X3.4-1968 < KOI-8
-[ 63] IBM891 < KOI-8
-[ 63] IBM903 < KOI-8
-[ 64] T.61-7bit < ISO_6937-2-25
-[ 65] KOI-8 < ECMA-cyrillic
-[ 65] KOI-8 < KOI8-R
-[ 65] KOI-8 < KOI8-RU
-[ 66] ANSI_X3.4-1968 < sami
-[ 66] IBM891 < sami
-[ 66] IBM903 < sami
-[ 70] INVARIANT < ISO_6937-2-25
-[ 73] INVARIANT < ISO_10367-box
-[ 74] INIS < ISO_10367-box
-[ 75] INVARIANT < KOI-8
-[ 76] INIS < KOI-8
-[ 78] ANSI_X3.4-1968 < CP1255
-[ 78] IBM891 < CP1255
-[ 78] IBM903 < CP1255
-[ 78] INVARIANT < sami
-[ 79] INIS < sami
-[ 83] ANSI_X3.4-1968 < ISO-8859-6
-[ 83] IBM891 < ISO-8859-6
-[ 83] IBM903 < ISO-8859-6
-[ 90] ANSI_X3.4-1968 < ISO-8859-8
-[ 90] IBM891 < ISO-8859-8
-[ 90] IBM903 < ISO-8859-8
-[ 90] INVARIANT < CP1255
-[ 91] INIS < CP1255
-[ 95] INVARIANT < ISO-8859-6
-[ 95] JIS_C6220-1969-ro < JIS_X0201
-[ 96] EBCDIC-AT-DE < IBM273
-[ 96] EBCDIC-DK-NO < IBM277
-[ 96] EBCDIC-IT < IBM280
-[ 96] EBCDIC-UK < IBM285
-[ 96] EBCDIC-US < IBM037
-[ 96] IBM038 < IBM256
-[ 96] IBM038 < IBM500
-[ 96] INIS < ISO-8859-6
-[100] ANSI_X3.4-1968 < GOST_19768-87
-[100] IBM891 < GOST_19768-87
-[100] IBM903 < GOST_19768-87
-[102] INVARIANT < ISO-8859-8
-[103] ANSI_X3.4-1968 < IBM868
-[103] IBM891 < IBM868
-[103] IBM903 < IBM868
-[103] INIS < ISO-8859-8
-[103] ISO_646.basic < ISO_6937-2-25
-[106] ISO_646.basic < ISO_10367-box
-[107] INVARIANT < JIS_X0201
-[108] INIS < JIS_X0201
-[108] ISO_646.basic < KOI-8
-[109] ANSI_X3.4-1968 < CP1257
-[109] IBM891 < CP1257
-[109] IBM903 < CP1257
-[111] ANSI_X3.4-1968 < CP1253
-[111] IBM891 < CP1253
-[111] IBM903 < CP1253
-[111] ISO_646.basic < sami
-[112] ANSI_X3.4-1968 < KOI8-U
-[112] IBM891 < KOI8-U
-[112] IBM903 < KOI8-U
-[112] INVARIANT < GOST_19768-87
-[113] ANSI_X3.4-1968 < DEC-MCS
-[113] IBM891 < DEC-MCS
-[113] IBM903 < DEC-MCS
-[113] INIS < GOST_19768-87
-[115] INVARIANT < IBM868
-[116] INIS < IBM868
-[119] ANSI_X3.4-1968 < IBM1004
-[119] ANSI_X3.4-1968 < IBM869
-[119] IBM891 < IBM1004
-[119] IBM891 < IBM869
-[119] IBM903 < IBM1004
-[119] IBM903 < IBM869
-[121] ANSI_X3.4-1968 < CP1254
-[121] ANSI_X3.4-1968 < ISO-8859-3
-[121] ANSI_X3.4-1968 < NeXTSTEP
-[121] IBM891 < CP1254
-[121] IBM891 < ISO-8859-3
-[121] IBM891 < NeXTSTEP
-[121] IBM903 < CP1254
-[121] IBM903 < ISO-8859-3
-[121] IBM903 < NeXTSTEP
-[121] INVARIANT < CP1257
-[122] ANSI_X3.4-1968 < ISO-8859-7
-[122] ANSI_X3.4-1968 < ISO_8859-supp
-[122] IBM891 < ISO-8859-7
-[122] IBM891 < ISO_8859-supp
-[122] IBM903 < ISO-8859-7
-[122] IBM903 < ISO_8859-supp
-[122] INIS < CP1257
-[123] ANSI_X3.4-1968 < CP1250
-[123] ANSI_X3.4-1968 < CP1252
-[123] ANSI_X3.4-1968 < IBM864
-[123] IBM891 < CP1250
-[123] IBM891 < CP1252
-[123] IBM891 < IBM864
-[123] IBM903 < CP1250
-[123] IBM903 < CP1252
-[123] IBM903 < IBM864
-[123] INVARIANT < CP1253
-[123] ISO_646.basic < CP1255
-[124] INIS < CP1253
-[124] INVARIANT < KOI8-U
-[125] ANSI_X3.4-1968 < IBM857
-[125] IBM891 < IBM857
-[125] IBM903 < IBM857
-[125] INIS < KOI8-U
-[125] INVARIANT < DEC-MCS
-[126] ANSI_X3.4-1968 < CP1256
-[126] ANSI_X3.4-1968 < mac-is
-[126] ANSI_X3.4-1968 < macintosh
-[126] IBM891 < CP1256
-[126] IBM891 < mac-is
-[126] IBM891 < macintosh
-[126] IBM903 < CP1256
-[126] IBM903 < mac-is
-[126] IBM903 < macintosh
-[126] INIS < DEC-MCS
-[127] ANSI_X3.4-1968 < CP1251
-[127] ANSI_X3.4-1968 < IBM851
-[127] ANSI_X3.4-1968 < IBM855
-[127] ANSI_X3.4-1968 < IBM861
-[127] ANSI_X3.4-1968 < IBM862
-[127] ANSI_X3.4-1968 < hp-roman8
-[127] IBM891 < CP1251
-[127] IBM891 < IBM851
-[127] IBM891 < IBM855
-[127] IBM891 < IBM861
-[127] IBM891 < IBM862
-[127] IBM891 < hp-roman8
-[127] IBM903 < CP1251
-[127] IBM903 < IBM851
-[127] IBM903 < IBM855
-[127] IBM903 < IBM861
-[127] IBM903 < IBM862
-[127] IBM903 < hp-roman8
-[128] ANSI_X3.4-1968 < AtariST
-[128] ANSI_X3.4-1968 < CSA_Z243.4-1985-gr
-[128] ANSI_X3.4-1968 < CWI
-[128] ANSI_X3.4-1968 < ECMA-cyrillic
-[128] ANSI_X3.4-1968 < IBM437
-[128] ANSI_X3.4-1968 < IBM850
-[128] ANSI_X3.4-1968 < IBM852
-[128] ANSI_X3.4-1968 < IBM860
-[128] ANSI_X3.4-1968 < IBM863
-[128] ANSI_X3.4-1968 < IBM865
-[128] ANSI_X3.4-1968 < IEC_P27-1
-[128] ANSI_X3.4-1968 < ISO-8859-1
-[128] ANSI_X3.4-1968 < ISO-8859-10
-[128] ANSI_X3.4-1968 < ISO-8859-13
-[128] ANSI_X3.4-1968 < ISO-8859-14
-[128] ANSI_X3.4-1968 < ISO-8859-15
-[128] ANSI_X3.4-1968 < ISO-8859-2
-[128] ANSI_X3.4-1968 < ISO-8859-4
-[128] ANSI_X3.4-1968 < ISO-8859-5
-[128] ANSI_X3.4-1968 < ISO-8859-9
-[128] ANSI_X3.4-1968 < KOI8-R
-[128] ANSI_X3.4-1968 < KOI8-RU
-[128] ANSI_X3.4-1968 < baltic
-[128] ANSI_X3.4-1968 < macintosh_ce
-[128] IBM891 < AtariST
-[128] IBM891 < CSA_Z243.4-1985-gr
-[128] IBM891 < CWI
-[128] IBM891 < ECMA-cyrillic
-[128] IBM891 < IBM437
-[128] IBM891 < IBM850
-[128] IBM891 < IBM852
-[128] IBM891 < IBM860
-[128] IBM891 < IBM863
-[128] IBM891 < IBM865
-[128] IBM891 < IEC_P27-1
-[128] IBM891 < ISO-8859-1
-[128] IBM891 < ISO-8859-10
-[128] IBM891 < ISO-8859-13
-[128] IBM891 < ISO-8859-14
-[128] IBM891 < ISO-8859-15
-[128] IBM891 < ISO-8859-2
-[128] IBM891 < ISO-8859-4
-[128] IBM891 < ISO-8859-5
-[128] IBM891 < ISO-8859-9
-[128] IBM891 < KOI8-R
-[128] IBM891 < KOI8-RU
-[128] IBM891 < baltic
-[128] IBM891 < macintosh_ce
-[128] IBM903 < AtariST
-[128] IBM903 < CSA_Z243.4-1985-gr
-[128] IBM903 < CWI
-[128] IBM903 < ECMA-cyrillic
-[128] IBM903 < IBM437
-[128] IBM903 < IBM850
-[128] IBM903 < IBM852
-[128] IBM903 < IBM860
-[128] IBM903 < IBM863
-[128] IBM903 < IBM865
-[128] IBM903 < IEC_P27-1
-[128] IBM903 < ISO-8859-1
-[128] IBM903 < ISO-8859-10
-[128] IBM903 < ISO-8859-13
-[128] IBM903 < ISO-8859-14
-[128] IBM903 < ISO-8859-15
-[128] IBM903 < ISO-8859-2
-[128] IBM903 < ISO-8859-4
-[128] IBM903 < ISO-8859-5
-[128] IBM903 < ISO-8859-9
-[128] IBM903 < KOI8-R
-[128] IBM903 < KOI8-RU
-[128] IBM903 < baltic
-[128] IBM903 < macintosh_ce
-[128] ISO_646.basic < ISO-8859-6
-[131] INVARIANT < IBM1004
-[131] INVARIANT < IBM869
-[132] INIS < IBM1004
-[132] INIS < IBM869
-[133] INVARIANT < CP1254
-[133] INVARIANT < ISO-8859-3
-[133] INVARIANT < NeXTSTEP
-[134] INIS < CP1254
-[134] INIS < ISO-8859-3
-[134] INIS < NeXTSTEP
-[134] INVARIANT < ISO-8859-7
-[134] INVARIANT < ISO_8859-supp
-[134] T.61-7bit < CSN_369103
-[135] INIS < ISO-8859-7
-[135] INIS < ISO_8859-supp
-[135] INVARIANT < CP1250
-[135] INVARIANT < CP1252
-[135] INVARIANT < IBM864
-[135] ISO_646.basic < ISO-8859-8
-[136] INIS < CP1250
-[136] INIS < CP1252
-[136] INIS < IBM864
-[137] INVARIANT < IBM857
-[138] INIS < IBM857
-[138] INVARIANT < CP1256
-[138] INVARIANT < mac-is
-[138] INVARIANT < macintosh
-[139] INIS < CP1256
-[139] INIS < mac-is
-[139] INIS < macintosh
-[139] INVARIANT < CP1251
-[139] INVARIANT < IBM851
-[139] INVARIANT < IBM855
-[139] INVARIANT < IBM861
-[139] INVARIANT < IBM862
-[139] INVARIANT < hp-roman8
-[140] INIS < CP1251
-[140] INIS < IBM851
-[140] INIS < IBM855
-[140] INIS < IBM861
-[140] INIS < IBM862
-[140] INIS < hp-roman8
-[140] INVARIANT < AtariST
-[140] INVARIANT < CSA_Z243.4-1985-gr
-[140] INVARIANT < CSN_369103
-[140] INVARIANT < CWI
-[140] INVARIANT < ECMA-cyrillic
-[140] INVARIANT < IBM437
-[140] INVARIANT < IBM850
-[140] INVARIANT < IBM852
-[140] INVARIANT < IBM860
-[140] INVARIANT < IBM863
-[140] INVARIANT < IBM865
-[140] INVARIANT < IEC_P27-1
-[140] INVARIANT < ISO-8859-1
-[140] INVARIANT < ISO-8859-10
-[140] INVARIANT < ISO-8859-13
-[140] INVARIANT < ISO-8859-14
-[140] INVARIANT < ISO-8859-15
-[140] INVARIANT < ISO-8859-2
-[140] INVARIANT < ISO-8859-4
-[140] INVARIANT < ISO-8859-5
-[140] INVARIANT < ISO-8859-9
-[140] INVARIANT < KOI8-R
-[140] INVARIANT < KOI8-RU
-[140] INVARIANT < baltic
-[140] INVARIANT < macintosh_ce
-[140] ISO_646.basic < JIS_X0201
-[141] INIS < AtariST
-[141] INIS < CSA_Z243.4-1985-gr
-[141] INIS < CWI
-[141] INIS < ECMA-cyrillic
-[141] INIS < IBM437
-[141] INIS < IBM850
-[141] INIS < IBM852
-[141] INIS < IBM860
-[141] INIS < IBM863
-[141] INIS < IBM865
-[141] INIS < IEC_P27-1
-[141] INIS < ISO-8859-1
-[141] INIS < ISO-8859-10
-[141] INIS < ISO-8859-13
-[141] INIS < ISO-8859-14
-[141] INIS < ISO-8859-15
-[141] INIS < ISO-8859-2
-[141] INIS < ISO-8859-4
-[141] INIS < ISO-8859-5
-[141] INIS < ISO-8859-9
-[141] INIS < KOI8-R
-[141] INIS < KOI8-RU
-[141] INIS < baltic
-[141] INIS < macintosh_ce
-[145] ISO_646.basic < GOST_19768-87
-[148] ISO_646.basic < IBM868
-[154] ISO_646.basic < CP1257
-[156] ISO_646.basic < CP1253
-[157] ISO_646.basic < KOI8-U
-[158] ISO_646.basic < DEC-MCS
-[164] ISO_646.basic < IBM1004
-[164] ISO_646.basic < IBM869
-[164] ISO_646.basic < VPS
-[166] ISO_646.basic < CP1254
-[166] ISO_646.basic < ISO-8859-3
-[166] ISO_646.basic < NeXTSTEP
-[167] ISO_646.basic < ISO-8859-7
-[167] ISO_646.basic < ISO_8859-supp
-[167] ISO_646.basic < TCVN
-[168] ISO_646.basic < CP1250
-[168] ISO_646.basic < CP1252
-[168] ISO_646.basic < IBM864
-[170] ISO_646.basic < IBM857
-[171] ISO_646.basic < CP1256
-[171] ISO_646.basic < mac-is
-[171] ISO_646.basic < macintosh
-[172] ISO_646.basic < CP1251
-[172] ISO_646.basic < IBM851
-[172] ISO_646.basic < IBM855
-[172] ISO_646.basic < IBM861
-[172] ISO_646.basic < IBM862
-[172] ISO_646.basic < hp-roman8
-[173] ISO_646.basic < AtariST
-[173] ISO_646.basic < CSA_Z243.4-1985-gr
-[173] ISO_646.basic < CSN_369103
-[173] ISO_646.basic < CWI
-[173] ISO_646.basic < ECMA-cyrillic
-[173] ISO_646.basic < IBM437
-[173] ISO_646.basic < IBM850
-[173] ISO_646.basic < IBM852
-[173] ISO_646.basic < IBM860
-[173] ISO_646.basic < IBM863
-[173] ISO_646.basic < IBM865
-[173] ISO_646.basic < IEC_P27-1
-[173] ISO_646.basic < ISO-8859-1
-[173] ISO_646.basic < ISO-8859-10
-[173] ISO_646.basic < ISO-8859-13
-[173] ISO_646.basic < ISO-8859-14
-[173] ISO_646.basic < ISO-8859-15
-[173] ISO_646.basic < ISO-8859-2
-[173] ISO_646.basic < ISO-8859-4
-[173] ISO_646.basic < ISO-8859-5
-[173] ISO_646.basic < ISO-8859-9
-[173] ISO_646.basic < KOI8-R
-[173] ISO_646.basic < KOI8-RU
-[173] ISO_646.basic < VISCII
-[173] ISO_646.basic < baltic
-[173] ISO_646.basic < macintosh_ce
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/names.m4:745: testing..."
-echo names.m4:745 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode -T | sort
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s2)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 2"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=2
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr expout
-  fi
-fi
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c3(
-
-rm -rf expect stdout stderr
-# Snippet )c3)
-  echo lists.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing decimal listing of a charset'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "3. $srcdir/lists.m4:3         $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d3(
-# Testing decimal listing of a charset
-# Snippet )d3)
-# Snippet (s3(
-# starting from `lists.m4:3'.
-$at_traceon
-
-cat > expect <<'EOF'
-ISO-8859-1
-
-  0 NU    16 DL    32 SP    48 0     64 At    80 P     96 '!   112 p
-  1 SH    17 D1    33 !     49 1     65 A     81 Q     97 a    113 q
-  2 SX    18 D2    34 "     50 2     66 B     82 R     98 b    114 r
-  3 EX    19 D3    35 Nb    51 3     67 C     83 S     99 c    115 s
-  4 ET    20 D4    36 DO    52 4     68 D     84 T    100 d    116 t
-  5 EQ    21 NK    37 %     53 5     69 E     85 U    101 e    117 u
-  6 AK    22 SY    38 &     54 6     70 F     86 V    102 f    118 v
-  7 BL    23 EB    39 '     55 7     71 G     87 W    103 g    119 w
-  8 BS    24 CN    40 (     56 8     72 H     88 X    104 h    120 x
-  9 HT    25 EM    41 )     57 9     73 I     89 Y    105 i    121 y
- 10 LF    26 SB    42 *     58 :     74 J     90 Z    106 j    122 z
- 11 VT    27 EC    43 +     59 ;     75 K     91 <(   107 k    123 (!
- 12 FF    28 FS    44 ,     60 <     76 L     92 //   108 l    124 !!
- 13 CR    29 GS    45 -     61 =     77 M     93 )>   109 m    125 !)
- 14 SO    30 RS    46 .     62 >     78 N     94 '>   110 n    126 '?
- 15 SI    31 US    47 /     63 ?     79 O     95 _    111 o    127 DT
-
-128 PA   144 DC   160 NS   176 DG   192 A!   208 D-   224 a!   240 d-
-129 HO   145 P1   161 !I   177 +-   193 A'   209 N?   225 a'   241 n?
-130 BH   146 P2   162 Ct   178 2S   194 A>   210 O!   226 a>   242 o!
-131 NH   147 TS   163 Pd   179 3S   195 A?   211 O'   227 a?   243 o'
-132 IN   148 CC   164 Cu   180 ''   196 A:   212 O>   228 a:   244 o>
-133 NL   149 MW   165 Ye   181 My   197 AA   213 O?   229 aa   245 o?
-134 SA   150 SG   166 BB   182 PI   198 AE   214 O:   230 ae   246 o:
-135 ES   151 EG   167 SE   183 .M   199 C,   215 *X   231 c,   247 -:
-136 HS   152 SS   168 ':   184 ',   200 E!   216 O/   232 e!   248 o/
-137 HJ   153 GC   169 Co   185 1S   201 E'   217 U!   233 e'   249 u!
-138 VS   154 SC   170 -a   186 -o   202 E>   218 U'   234 e>   250 u'
-139 PD   155 CI   171 <<   187 >>   203 E:   219 U>   235 e:   251 u>
-140 PU   156 ST   172 NO   188 14   204 I!   220 U:   236 i!   252 u:
-141 RI   157 OC   173 --   189 12   205 I'   221 Y'   237 i'   253 y'
-142 S2   158 PM   174 Rg   190 34   206 I>   222 TH   238 i>   254 th
-143 S3   159 AC   175 'm   191 ?I   207 I:   223 ss   239 i:   255 y:
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/lists.m4:44: testing..."
-echo lists.m4:44 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode -ld latin-1 | cmp -s - expect
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s3)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 3"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=3
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expect stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c4(
-
-rm -rf expect stdout stderr
-# Snippet )c4)
-  echo lists.m4:48 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing hexadecimal listing of a charset'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "4. $srcdir/lists.m4:48        $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d4(
-# Testing hexadecimal listing of a charset
-# Snippet )d4)
-# Snippet (s4(
-# starting from `lists.m4:48'.
-$at_traceon
-
-cat > expect <<'EOF'
-ISO-8859-1
-
-00 NU   10 DL   20 SP   30 0    40 At   50 P    60 '!   70 p
-01 SH   11 D1   21 !    31 1    41 A    51 Q    61 a    71 q
-02 SX   12 D2   22 "    32 2    42 B    52 R    62 b    72 r
-03 EX   13 D3   23 Nb   33 3    43 C    53 S    63 c    73 s
-04 ET   14 D4   24 DO   34 4    44 D    54 T    64 d    74 t
-05 EQ   15 NK   25 %    35 5    45 E    55 U    65 e    75 u
-06 AK   16 SY   26 &    36 6    46 F    56 V    66 f    76 v
-07 BL   17 EB   27 '    37 7    47 G    57 W    67 g    77 w
-08 BS   18 CN   28 (    38 8    48 H    58 X    68 h    78 x
-09 HT   19 EM   29 )    39 9    49 I    59 Y    69 i    79 y
-0a LF   1a SB   2a *    3a :    4a J    5a Z    6a j    7a z
-0b VT   1b EC   2b +    3b ;    4b K    5b <(   6b k    7b (!
-0c FF   1c FS   2c ,    3c <    4c L    5c //   6c l    7c !!
-0d CR   1d GS   2d -    3d =    4d M    5d )>   6d m    7d !)
-0e SO   1e RS   2e .    3e >    4e N    5e '>   6e n    7e '?
-0f SI   1f US   2f /    3f ?    4f O    5f _    6f o    7f DT
-
-80 PA   90 DC   a0 NS   b0 DG   c0 A!   d0 D-   e0 a!   f0 d-
-81 HO   91 P1   a1 !I   b1 +-   c1 A'   d1 N?   e1 a'   f1 n?
-82 BH   92 P2   a2 Ct   b2 2S   c2 A>   d2 O!   e2 a>   f2 o!
-83 NH   93 TS   a3 Pd   b3 3S   c3 A?   d3 O'   e3 a?   f3 o'
-84 IN   94 CC   a4 Cu   b4 ''   c4 A:   d4 O>   e4 a:   f4 o>
-85 NL   95 MW   a5 Ye   b5 My   c5 AA   d5 O?   e5 aa   f5 o?
-86 SA   96 SG   a6 BB   b6 PI   c6 AE   d6 O:   e6 ae   f6 o:
-87 ES   97 EG   a7 SE   b7 .M   c7 C,   d7 *X   e7 c,   f7 -:
-88 HS   98 SS   a8 ':   b8 ',   c8 E!   d8 O/   e8 e!   f8 o/
-89 HJ   99 GC   a9 Co   b9 1S   c9 E'   d9 U!   e9 e'   f9 u!
-8a VS   9a SC   aa -a   ba -o   ca E>   da U'   ea e>   fa u'
-8b PD   9b CI   ab <<   bb >>   cb E:   db U>   eb e:   fb u>
-8c PU   9c ST   ac NO   bc 14   cc I!   dc U:   ec i!   fc u:
-8d RI   9d OC   ad --   bd 12   cd I'   dd Y'   ed i'   fd y'
-8e S2   9e PM   ae Rg   be 34   ce I>   de TH   ee i>   fe th
-8f S3   9f AC   af 'm   bf ?I   cf I:   df ss   ef i:   ff y:
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/lists.m4:89: testing..."
-echo lists.m4:89 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode -lh latin-1 | cmp -s - expect
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s4)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 4"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=4
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expect stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c5(
-
-rm -rf expect stdout stderr
-# Snippet )c5)
-  echo lists.m4:93 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing octal listing of a charset'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "5. $srcdir/lists.m4:93        $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d5(
-# Testing octal listing of a charset
-# Snippet )d5)
-# Snippet (s5(
-# starting from `lists.m4:93'.
-$at_traceon
-
-cat > expect <<'EOF'
-ISO-8859-1
-
-000 NU   020 DL   040 SP   060 0    100 At   120 P    140 '!   160 p
-001 SH   021 D1   041 !    061 1    101 A    121 Q    141 a    161 q
-002 SX   022 D2   042 "    062 2    102 B    122 R    142 b    162 r
-003 EX   023 D3   043 Nb   063 3    103 C    123 S    143 c    163 s
-004 ET   024 D4   044 DO   064 4    104 D    124 T    144 d    164 t
-005 EQ   025 NK   045 %    065 5    105 E    125 U    145 e    165 u
-006 AK   026 SY   046 &    066 6    106 F    126 V    146 f    166 v
-007 BL   027 EB   047 '    067 7    107 G    127 W    147 g    167 w
-010 BS   030 CN   050 (    070 8    110 H    130 X    150 h    170 x
-011 HT   031 EM   051 )    071 9    111 I    131 Y    151 i    171 y
-012 LF   032 SB   052 *    072 :    112 J    132 Z    152 j    172 z
-013 VT   033 EC   053 +    073 ;    113 K    133 <(   153 k    173 (!
-014 FF   034 FS   054 ,    074 <    114 L    134 //   154 l    174 !!
-015 CR   035 GS   055 -    075 =    115 M    135 )>   155 m    175 !)
-016 SO   036 RS   056 .    076 >    116 N    136 '>   156 n    176 '?
-017 SI   037 US   057 /    077 ?    117 O    137 _    157 o    177 DT
-
-200 PA   220 DC   240 NS   260 DG   300 A!   320 D-   340 a!   360 d-
-201 HO   221 P1   241 !I   261 +-   301 A'   321 N?   341 a'   361 n?
-202 BH   222 P2   242 Ct   262 2S   302 A>   322 O!   342 a>   362 o!
-203 NH   223 TS   243 Pd   263 3S   303 A?   323 O'   343 a?   363 o'
-204 IN   224 CC   244 Cu   264 ''   304 A:   324 O>   344 a:   364 o>
-205 NL   225 MW   245 Ye   265 My   305 AA   325 O?   345 aa   365 o?
-206 SA   226 SG   246 BB   266 PI   306 AE   326 O:   346 ae   366 o:
-207 ES   227 EG   247 SE   267 .M   307 C,   327 *X   347 c,   367 -:
-210 HS   230 SS   250 ':   270 ',   310 E!   330 O/   350 e!   370 o/
-211 HJ   231 GC   251 Co   271 1S   311 E'   331 U!   351 e'   371 u!
-212 VS   232 SC   252 -a   272 -o   312 E>   332 U'   352 e>   372 u'
-213 PD   233 CI   253 <<   273 >>   313 E:   333 U>   353 e:   373 u>
-214 PU   234 ST   254 NO   274 14   314 I!   334 U:   354 i!   374 u:
-215 RI   235 OC   255 --   275 12   315 I'   335 Y'   355 i'   375 y'
-216 S2   236 PM   256 Rg   276 34   316 I>   336 TH   356 i>   376 th
-217 S3   237 AC   257 'm   277 ?I   317 I:   337 ss   357 i:   377 y:
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/lists.m4:134: testing..."
-echo lists.m4:134 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode -lo latin-1 | cmp -s - expect
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s5)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 5"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=5
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expect stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c6(
-
-rm -rf expect stdout stderr
-# Snippet )c6)
-  echo lists.m4:138 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing full listing of a charset'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "6. $srcdir/lists.m4:138       $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d6(
-# Testing full listing of a charset
-# Snippet )d6)
-# Snippet (s6(
-# starting from `lists.m4:138'.
-$at_traceon
-
-cat > expect <<'EOF'
-Dec  Oct Hex   UCS2  Mne  ISO-8859-1
-
-  0  000  00   0000  NU   null (nul)
-  1  001  01   0001  SH   start of heading (soh)
-  2  002  02   0002  SX   start of text (stx)
-  3  003  03   0003  EX   end of text (etx)
-  4  004  04   0004  ET   end of transmission (eot)
-  5  005  05   0005  EQ   enquiry (enq)
-  6  006  06   0006  AK   acknowledge (ack)
-  7  007  07   0007  BL   bell (bel)
-  8  010  08   0008  BS   backspace (bs)
-  9  011  09   0009  HT   character tabulation (ht)
- 10  012  0a   000A  LF   line feed (lf)
- 11  013  0b   000B  VT   line tabulation (vt)
- 12  014  0c   000C  FF   form feed (ff)
- 13  015  0d   000D  CR   carriage return (cr)
- 14  016  0e   000E  SO   shift out (so)
- 15  017  0f   000F  SI   shift in (si)
- 16  020  10   0010  DL   datalink escape (dle)
- 17  021  11   0011  D1   device control one (dc1)
- 18  022  12   0012  D2   device control two (dc2)
- 19  023  13   0013  D3   device control three (dc3)
- 20  024  14   0014  D4   device control four (dc4)
- 21  025  15   0015  NK   negative acknowledge (nak)
- 22  026  16   0016  SY   syncronous idle (syn)
- 23  027  17   0017  EB   end of transmission block (etb)
- 24  030  18   0018  CN   cancel (can)
- 25  031  19   0019  EM   end of medium (em)
- 26  032  1a   001A  SB   substitute (sub)
- 27  033  1b   001B  EC   escape (esc)
- 28  034  1c   001C  FS   file separator (is4)
- 29  035  1d   001D  GS   group separator (is3)
- 30  036  1e   001E  RS   record separator (is2)
- 31  037  1f   001F  US   unit separator (is1)
- 32  040  20   0020  SP   space
- 33  041  21   0021  !    exclamation mark
- 34  042  22   0022  "    quotation mark
- 35  043  23   0023  Nb   number sign
- 36  044  24   0024  DO   dollar sign
- 37  045  25   0025  %    percent sign
- 38  046  26   0026  &    ampersand
- 39  047  27   0027  '    apostrophe
- 40  050  28   0028  (    left parenthesis
- 41  051  29   0029  )    right parenthesis
- 42  052  2a   002A  *    asterisk
- 43  053  2b   002B  +    plus sign
- 44  054  2c   002C  ,    comma
- 45  055  2d   002D  -    hyphen-minus
- 46  056  2e   002E  .    full stop
- 47  057  2f   002F  /    solidus
- 48  060  30   0030  0    digit zero
- 49  061  31   0031  1    digit one
- 50  062  32   0032  2    digit two
- 51  063  33   0033  3    digit three
- 52  064  34   0034  4    digit four
- 53  065  35   0035  5    digit five
- 54  066  36   0036  6    digit six
- 55  067  37   0037  7    digit seven
- 56  070  38   0038  8    digit eight
- 57  071  39   0039  9    digit nine
- 58  072  3a   003A  :    colon
- 59  073  3b   003B  ;    semicolon
- 60  074  3c   003C  <    less-than sign
- 61  075  3d   003D  =    equals sign
- 62  076  3e   003E  >    greater-than sign
- 63  077  3f   003F  ?    question mark
- 64  100  40   0040  At   commercial at
- 65  101  41   0041  A    latin capital letter a
- 66  102  42   0042  B    latin capital letter b
- 67  103  43   0043  C    latin capital letter c
- 68  104  44   0044  D    latin capital letter d
- 69  105  45   0045  E    latin capital letter e
- 70  106  46   0046  F    latin capital letter f
- 71  107  47   0047  G    latin capital letter g
- 72  110  48   0048  H    latin capital letter h
- 73  111  49   0049  I    latin capital letter i
- 74  112  4a   004A  J    latin capital letter j
- 75  113  4b   004B  K    latin capital letter k
- 76  114  4c   004C  L    latin capital letter l
- 77  115  4d   004D  M    latin capital letter m
- 78  116  4e   004E  N    latin capital letter n
- 79  117  4f   004F  O    latin capital letter o
- 80  120  50   0050  P    latin capital letter p
- 81  121  51   0051  Q    latin capital letter q
- 82  122  52   0052  R    latin capital letter r
- 83  123  53   0053  S    latin capital letter s
- 84  124  54   0054  T    latin capital letter t
- 85  125  55   0055  U    latin capital letter u
- 86  126  56   0056  V    latin capital letter v
- 87  127  57   0057  W    latin capital letter w
- 88  130  58   0058  X    latin capital letter x
- 89  131  59   0059  Y    latin capital letter y
- 90  132  5a   005A  Z    latin capital letter z
- 91  133  5b   005B  <(   left square bracket
- 92  134  5c   005C  //   reverse solidus
- 93  135  5d   005D  )>   right square bracket
- 94  136  5e   005E  '>   circumflex accent
- 95  137  5f   005F  _    low line
- 96  140  60   0060  '!   grave accent
- 97  141  61   0061  a    latin small letter a
- 98  142  62   0062  b    latin small letter b
- 99  143  63   0063  c    latin small letter c
-100  144  64   0064  d    latin small letter d
-101  145  65   0065  e    latin small letter e
-102  146  66   0066  f    latin small letter f
-103  147  67   0067  g    latin small letter g
-104  150  68   0068  h    latin small letter h
-105  151  69   0069  i    latin small letter i
-106  152  6a   006A  j    latin small letter j
-107  153  6b   006B  k    latin small letter k
-108  154  6c   006C  l    latin small letter l
-109  155  6d   006D  m    latin small letter m
-110  156  6e   006E  n    latin small letter n
-111  157  6f   006F  o    latin small letter o
-112  160  70   0070  p    latin small letter p
-113  161  71   0071  q    latin small letter q
-114  162  72   0072  r    latin small letter r
-115  163  73   0073  s    latin small letter s
-116  164  74   0074  t    latin small letter t
-117  165  75   0075  u    latin small letter u
-118  166  76   0076  v    latin small letter v
-119  167  77   0077  w    latin small letter w
-120  170  78   0078  x    latin small letter x
-121  171  79   0079  y    latin small letter y
-122  172  7a   007A  z    latin small letter z
-123  173  7b   007B  (!   left curly bracket
-124  174  7c   007C  !!   vertical line
-125  175  7d   007D  !)   right curly bracket
-126  176  7e   007E  '?   tilde
-127  177  7f   007F  DT   delete (del)
-128  200  80   0080  PA   padding character (pad)
-129  201  81   0081  HO   high octet preset (hop)
-130  202  82   0082  BH   break permitted here (bph)
-131  203  83   0083  NH   no break here (nbh)
-132  204  84   0084  IN   index (ind)
-133  205  85   0085  NL   next line (nel)
-134  206  86   0086  SA   start of selected area (ssa)
-135  207  87   0087  ES   end of selected area (esa)
-136  210  88   0088  HS   character tabulation set (hts)
-137  211  89   0089  HJ   character tabulation with justification (htj)
-138  212  8a   008A  VS   line tabulation set (vts)
-139  213  8b   008B  PD   partial line forward (pld)
-140  214  8c   008C  PU   partial line backward (plu)
-141  215  8d   008D  RI   reverse line feed (ri)
-142  216  8e   008E  S2   single-shift two (ss2)
-143  217  8f   008F  S3   single-shift three (ss3)
-144  220  90   0090  DC   device control string (dcs)
-145  221  91   0091  P1   private use one (pu1)
-146  222  92   0092  P2   private use two (pu2)
-147  223  93   0093  TS   set transmit state (sts)
-148  224  94   0094  CC   cancel character (cch)
-149  225  95   0095  MW   message waiting (mw)
-150  226  96   0096  SG   start of guarded area (spa)
-151  227  97   0097  EG   end of guarded area (epa)
-152  230  98   0098  SS   start of string (sos)
-153  231  99   0099  GC   single graphic character introducer (sgci)
-154  232  9a   009A  SC   single character introducer (sci)
-155  233  9b   009B  CI   control sequence introducer (csi)
-156  234  9c   009C  ST   string terminator (st)
-157  235  9d   009D  OC   operating system command (osc)
-158  236  9e   009E  PM   privacy message (pm)
-159  237  9f   009F  AC   application program command (apc)
-160  240  a0   00A0  NS   no-break space
-161  241  a1   00A1  !I   inverted exclamation mark
-162  242  a2   00A2  Ct   cent sign
-163  243  a3   00A3  Pd   pound sign
-164  244  a4   00A4  Cu   currency sign
-165  245  a5   00A5  Ye   yen sign
-166  246  a6   00A6  BB   broken bar
-167  247  a7   00A7  SE   section sign
-168  250  a8   00A8  ':   diaeresis
-169  251  a9   00A9  Co   copyright sign
-170  252  aa   00AA  -a   feminine ordinal indicator
-171  253  ab   00AB  <<   left-pointing double angle quotation mark
-172  254  ac   00AC  NO   not sign
-173  255  ad   00AD  --   soft hyphen
-174  256  ae   00AE  Rg   registered sign
-175  257  af   00AF  'm   macron
-176  260  b0   00B0  DG   degree sign
-177  261  b1   00B1  +-   plus-minus sign
-178  262  b2   00B2  2S   superscript two
-179  263  b3   00B3  3S   superscript three
-180  264  b4   00B4  ''   acute accent
-181  265  b5   00B5  My   micro sign
-182  266  b6   00B6  PI   pilcrow sign
-183  267  b7   00B7  .M   middle dot
-184  270  b8   00B8  ',   cedilla
-185  271  b9   00B9  1S   superscript one
-186  272  ba   00BA  -o   masculine ordinal indicator
-187  273  bb   00BB  >>   right-pointing double angle quotation mark
-188  274  bc   00BC  14   vulgar fraction one quarter
-189  275  bd   00BD  12   vulgar fraction one half
-190  276  be   00BE  34   vulgar fraction three quarters
-191  277  bf   00BF  ?I   inverted question mark
-192  300  c0   00C0  A!   latin capital letter a with grave
-193  301  c1   00C1  A'   latin capital letter a with acute
-194  302  c2   00C2  A>   latin capital letter a with circumflex
-195  303  c3   00C3  A?   latin capital letter a with tilde
-196  304  c4   00C4  A:   latin capital letter a with diaeresis
-197  305  c5   00C5  AA   latin capital letter a with ring above
-198  306  c6   00C6  AE   latin capital letter ae
-199  307  c7   00C7  C,   latin capital letter c with cedilla
-200  310  c8   00C8  E!   latin capital letter e with grave
-201  311  c9   00C9  E'   latin capital letter e with acute
-202  312  ca   00CA  E>   latin capital letter e with circumflex
-203  313  cb   00CB  E:   latin capital letter e with diaeresis
-204  314  cc   00CC  I!   latin capital letter i with grave
-205  315  cd   00CD  I'   latin capital letter i with acute
-206  316  ce   00CE  I>   latin capital letter i with circumflex
-207  317  cf   00CF  I:   latin capital letter i with diaeresis
-208  320  d0   00D0  D-   latin capital letter eth (icelandic)
-209  321  d1   00D1  N?   latin capital letter n with tilde
-210  322  d2   00D2  O!   latin capital letter o with grave
-211  323  d3   00D3  O'   latin capital letter o with acute
-212  324  d4   00D4  O>   latin capital letter o with circumflex
-213  325  d5   00D5  O?   latin capital letter o with tilde
-214  326  d6   00D6  O:   latin capital letter o with diaeresis
-215  327  d7   00D7  *X   multiplication sign
-216  330  d8   00D8  O/   latin capital letter o with stroke
-217  331  d9   00D9  U!   latin capital letter u with grave
-218  332  da   00DA  U'   latin capital letter u with acute
-219  333  db   00DB  U>   latin capital letter u with circumflex
-220  334  dc   00DC  U:   latin capital letter u with diaeresis
-221  335  dd   00DD  Y'   latin capital letter y with acute
-222  336  de   00DE  TH   latin capital letter thorn (icelandic)
-223  337  df   00DF  ss   latin small letter sharp s (german)
-224  340  e0   00E0  a!   latin small letter a with grave
-225  341  e1   00E1  a'   latin small letter a with acute
-226  342  e2   00E2  a>   latin small letter a with circumflex
-227  343  e3   00E3  a?   latin small letter a with tilde
-228  344  e4   00E4  a:   latin small letter a with diaeresis
-229  345  e5   00E5  aa   latin small letter a with ring above
-230  346  e6   00E6  ae   latin small letter ae
-231  347  e7   00E7  c,   latin small letter c with cedilla
-232  350  e8   00E8  e!   latin small letter e with grave
-233  351  e9   00E9  e'   latin small letter e with acute
-234  352  ea   00EA  e>   latin small letter e with circumflex
-235  353  eb   00EB  e:   latin small letter e with diaeresis
-236  354  ec   00EC  i!   latin small letter i with grave
-237  355  ed   00ED  i'   latin small letter i with acute
-238  356  ee   00EE  i>   latin small letter i with circumflex
-239  357  ef   00EF  i:   latin small letter i with diaeresis
-240  360  f0   00F0  d-   latin small letter eth (icelandic)
-241  361  f1   00F1  n?   latin small letter n with tilde
-242  362  f2   00F2  o!   latin small letter o with grave
-243  363  f3   00F3  o'   latin small letter o with acute
-244  364  f4   00F4  o>   latin small letter o with circumflex
-245  365  f5   00F5  o?   latin small letter o with tilde
-246  366  f6   00F6  o:   latin small letter o with diaeresis
-247  367  f7   00F7  -:   division sign
-248  370  f8   00F8  o/   latin small letter o with stroke
-249  371  f9   00F9  u!   latin small letter u with grave
-250  372  fa   00FA  u'   latin small letter u with acute
-251  373  fb   00FB  u>   latin small letter u with circumflex
-252  374  fc   00FC  u:   latin small letter u with diaeresis
-253  375  fd   00FD  y'   latin small letter y with acute
-254  376  fe   00FE  th   latin small letter thorn (icelandic)
-255  377  ff   00FF  y:   latin small letter y with diaeresis
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/lists.m4:402: testing..."
-echo lists.m4:402 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode -lf latin-1 | cmp -s - expect
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s6)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 6"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=6
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expect stdout stderr
-  fi
-fi
-
-echo
-echo 'Individual surfaces.'
-echo
-
-# FIXME: tests for endline and permut.
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c7(
-
-rm -rf input output stdout stderr
-# Snippet )c7)
-  echo dumps.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Decimal-1'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "7. $srcdir/dumps.m4:3         $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d7(
-# Testing single lines to Decimal-1
-# Snippet )d7)
-# Snippet (s7(
-# starting from `dumps.m4:3'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:6: testing..."
-echo dumps.m4:6 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../d1 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 10
- 97,  10
- 97,  98,  10
- 97,  98,  99,  10
- 97,  98,  99, 100,  10
- 97,  98,  99, 100, 101, 102, 103, 104, 105,  10
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115,  10
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  10
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
- 69,  70,  71,  72,  73,  74,  75,  76,  77,  10
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
- 69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,
- 84,  85,  86,  87,  10
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
- 69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,
- 84,  85,  86,  87,  88,  89,  90,  48,  49,  50,  51,  52,  53,  54,  10
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s7)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 7"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=7
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c8(
-
-rm -rf input output stdout stderr
-# Snippet )c8)
-  echo dumps.m4:35 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Decimal-1'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "8. $srcdir/dumps.m4:35        $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d8(
-# Testing block of lines to Decimal-1
-# Snippet )d8)
-# Snippet (s8(
-# starting from `dumps.m4:35'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:38: testing..."
-echo dumps.m4:38 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../d1 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 10,  97,  10,  97,  98,  10,  97,  98,  99,  10,  97,  98,  99, 100,  10,
- 97,  98,  99, 100, 101, 102, 103, 104, 105,  10,  97,  98,  99, 100, 101,
-102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,  10,
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  10,
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
- 69,  70,  71,  72,  73,  74,  75,  76,  77,  10,  97,  98,  99, 100, 101,
-102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
-117, 118, 119, 122, 121, 122,  65,  66,  67,  68,  69,  70,  71,  72,  73,
- 74,  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  10,
- 97,  98,  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-112, 113, 114, 115, 116, 117, 118, 119, 122, 121, 122,  65,  66,  67,  68,
- 69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,
- 84,  85,  86,  87,  88,  89,  90,  48,  49,  50,  51,  52,  53,  54,  10
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s8)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 8"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=8
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c9(
-
-rm -rf input output stdout stderr
-# Snippet )c9)
-  echo dumps.m4:60 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Decimal-1 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "9. $srcdir/dumps.m4:60        $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d9(
-# Testing single lines to Decimal-1 and back
-# Snippet )d9)
-# Snippet (s9(
-# starting from `dumps.m4:60'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:63: testing..."
-echo dumps.m4:63 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../d1 output
-  recode /d1../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s9)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 9"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=9
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c10(
-
-rm -rf output stdout stderr
-# Snippet )c10)
-  echo dumps.m4:77 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Decimal-1 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "10. $srcdir/dumps.m4:77       $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d10(
-# Testing block of lines to Decimal-1 and back
-# Snippet )d10)
-# Snippet (s10(
-# starting from `dumps.m4:77'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:80: testing..."
-echo dumps.m4:80 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../d1 output
-recode /d1../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s10)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 10"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=10
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c11(
-
-rm -rf input output stdout stderr
-# Snippet )c11)
-  echo dumps.m4:92 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Decimal-2'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "11. $srcdir/dumps.m4:92       $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d11(
-# Testing single lines to Decimal-2
-# Snippet )d11)
-# Snippet (s11(
-# starting from `dumps.m4:92'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:95: testing..."
-echo dumps.m4:95 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../d2 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 10
-24842
-24930,  10
-24930, 25354
-24930, 25444,  10
-24930, 25444, 25958, 26472, 26890
-24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29450
-24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
-30070, 30586, 31098, 16706, 17162
-24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
-30070, 30586, 31098, 16706, 17220, 17734, 18248, 18762, 19276, 19722
-24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
-30070, 30586, 31098, 16706, 17220, 17734, 18248, 18762, 19276, 19790,
-20304, 20818, 21332, 21846, 22282
-24930, 25444, 25958, 26472, 26986, 27500, 28014, 28528, 29042, 29556,
-30070, 30586, 31098, 16706, 17220, 17734, 18248, 18762, 19276, 19790,
-20304, 20818, 21332, 21846, 22360, 22874, 12337, 12851, 13365, 13834
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s11)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 11"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=11
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c12(
-
-rm -rf input output stdout stderr
-# Snippet )c12)
-  echo dumps.m4:120 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Decimal-2'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "12. $srcdir/dumps.m4:120      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d12(
-# Testing block of lines to Decimal-2
-# Snippet )d12)
-# Snippet (s12(
-# starting from `dumps.m4:120'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:123: testing..."
-echo dumps.m4:123 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../d2 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 2657,  2657, 25098, 24930, 25354, 24930, 25444,  2657, 25187, 25701,
-26215, 26729,  2657, 25187, 25701, 26215, 26729, 27243, 27757, 28271,
-28785, 29299,  2657, 25187, 25701, 26215, 26729, 27243, 27757, 28271,
-28785, 29299, 29813, 30327, 31353, 31297, 16963,  2657, 25187, 25701,
-26215, 26729, 27243, 27757, 28271, 28785, 29299, 29813, 30327, 31353,
-31297, 16963, 17477, 17991, 18505, 19019, 19533,  2657, 25187, 25701,
-26215, 26729, 27243, 27757, 28271, 28785, 29299, 29813, 30327, 31353,
-31297, 16963, 17477, 17991, 18505, 19019, 19533, 20047, 20561, 21075,
-21589, 22103,  2657, 25187, 25701, 26215, 26729, 27243, 27757, 28271,
-28785, 29299, 29813, 30327, 31353, 31297, 16963, 17477, 17991, 18505,
-19019, 19533, 20047, 20561, 21075, 21589, 22103, 22617, 23088, 12594,
-13108, 13622,  10
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s12)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 12"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=12
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c13(
-
-rm -rf input output stdout stderr
-# Snippet )c13)
-  echo dumps.m4:142 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Decimal-2 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "13. $srcdir/dumps.m4:142      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d13(
-# Testing single lines to Decimal-2 and back
-# Snippet )d13)
-# Snippet (s13(
-# starting from `dumps.m4:142'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:145: testing..."
-echo dumps.m4:145 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../d2 output
-  recode /d2../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s13)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 13"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=13
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c14(
-
-rm -rf output stdout stderr
-# Snippet )c14)
-  echo dumps.m4:159 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Decimal-2 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "14. $srcdir/dumps.m4:159      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d14(
-# Testing block of lines to Decimal-2 and back
-# Snippet )d14)
-# Snippet (s14(
-# starting from `dumps.m4:159'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:162: testing..."
-echo dumps.m4:162 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../d2 output
-recode /d2../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s14)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 14"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=14
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c15(
-
-rm -rf input output stdout stderr
-# Snippet )c15)
-  echo dumps.m4:174 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Decimal-4'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "15. $srcdir/dumps.m4:174      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d15(
-# Testing single lines to Decimal-4
-# Snippet )d15)
-# Snippet (s15(
-# starting from `dumps.m4:174'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:177: testing..."
-echo dumps.m4:177 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../d4 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 10
-24842
- 6382090
-1633837834
-1633837924,  10
-1633837924, 1701209960, 26890
-1633837924, 1701209960, 1768581996, 1835954032, 1903325962
-1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
-1970698106, 2038055234, 17162
-1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
-1970698106, 2038055234, 1128547654, 1195919690, 1263291658
-1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
-1970698106, 2038055234, 1128547654, 1195919690, 1263291726,
-1330663762, 1398035798, 22282
-1633837924, 1701209960, 1768581996, 1835954032, 1903326068,
-1970698106, 2038055234, 1128547654, 1195919690, 1263291726,
-1330663762, 1398035798, 1465407834,  808530483,  875902474
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s15)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 15"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=15
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c16(
-
-rm -rf input output stdout stderr
-# Snippet )c16)
-  echo dumps.m4:202 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Decimal-4'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "16. $srcdir/dumps.m4:202      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d16(
-# Testing block of lines to Decimal-4
-# Snippet )d16)
-# Snippet (s16(
-# starting from `dumps.m4:202'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:205: testing..."
-echo dumps.m4:205 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../d4 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 174131809, 1644847458, 1661624674, 1667500641, 1650680933,
-1718052969,  174154339, 1684366951, 1751738987, 1819111023,
-1886483059,  174154339, 1684366951, 1751738987, 1819111023,
-1886483059, 1953855095, 2054781505, 1111689825, 1650680933,
-1718052969, 1785425005, 1852797041, 1920169077, 1987541625,
-2051097155, 1145390663, 1212762699, 1280117345, 1650680933,
-1718052969, 1785425005, 1852797041, 1920169077, 1987541625,
-2051097155, 1145390663, 1212762699, 1280134735, 1347506771,
-1414878807,  174154339, 1684366951, 1751738987, 1819111023,
-1886483059, 1953855095, 2054781505, 1111704645, 1179076681,
-1246448717, 1313820753, 1381192789, 1448564825, 1513107762,
- 859059510,  10
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s16)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 16"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=16
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c17(
-
-rm -rf input output stdout stderr
-# Snippet )c17)
-  echo dumps.m4:224 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Decimal-4 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "17. $srcdir/dumps.m4:224      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d17(
-# Testing single lines to Decimal-4 and back
-# Snippet )d17)
-# Snippet (s17(
-# starting from `dumps.m4:224'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:227: testing..."
-echo dumps.m4:227 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../d4 output
-  recode /d4../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s17)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 17"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=17
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c18(
-
-rm -rf output stdout stderr
-# Snippet )c18)
-  echo dumps.m4:241 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Decimal-4 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "18. $srcdir/dumps.m4:241      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d18(
-# Testing block of lines to Decimal-4 and back
-# Snippet )d18)
-# Snippet (s18(
-# starting from `dumps.m4:241'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:244: testing..."
-echo dumps.m4:244 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../d4 output
-recode /d4../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s18)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 18"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=18
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c19(
-
-rm -rf input output stdout stderr
-# Snippet )c19)
-  echo dumps.m4:256 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Hexadecimal-1'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "19. $srcdir/dumps.m4:256      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d19(
-# Testing single lines to Hexadecimal-1
-# Snippet )d19)
-# Snippet (s19(
-# starting from `dumps.m4:256'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:259: testing..."
-echo dumps.m4:259 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../x1 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x0A
-0x61, 0x0A
-0x61, 0x62, 0x0A
-0x61, 0x62, 0x63, 0x0A
-0x61, 0x62, 0x63, 0x64, 0x0A
-0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x0A
-0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
-0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x0A
-0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
-0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
-0x79, 0x7A, 0x41, 0x42, 0x43, 0x0A
-0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
-0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
-0x79, 0x7A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A,
-0x4B, 0x4C, 0x4D, 0x0A
-0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
-0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
-0x79, 0x7A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A,
-0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
-0x57, 0x0A
-0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C,
-0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A,
-0x79, 0x7A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A,
-0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
-0x57, 0x58, 0x59, 0x5A, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x0A
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s19)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 19"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=19
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c20(
-
-rm -rf input output stdout stderr
-# Snippet )c20)
-  echo dumps.m4:292 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Hexadecimal-1'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "20. $srcdir/dumps.m4:292      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d20(
-# Testing block of lines to Hexadecimal-1
-# Snippet )d20)
-# Snippet (s20(
-# starting from `dumps.m4:292'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:295: testing..."
-echo dumps.m4:295 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../x1 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x0A, 0x61, 0x0A, 0x61, 0x62, 0x0A, 0x61, 0x62, 0x63, 0x0A, 0x61, 0x62,
-0x63, 0x64, 0x0A, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
-0x0A, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B,
-0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x0A, 0x61, 0x62, 0x63,
-0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
-0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A, 0x79, 0x7A, 0x41,
-0x42, 0x43, 0x0A, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
-0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75,
-0x76, 0x77, 0x7A, 0x79, 0x7A, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
-0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x0A, 0x61, 0x62, 0x63, 0x64, 0x65,
-0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71,
-0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A, 0x79, 0x7A, 0x41, 0x42, 0x43,
-0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
-0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x0A, 0x61, 0x62, 0x63,
-0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
-0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x7A, 0x79, 0x7A, 0x41,
-0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
-0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
-0x5A, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x0A
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s20)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 20"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=20
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c21(
-
-rm -rf input output stdout stderr
-# Snippet )c21)
-  echo dumps.m4:321 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Hexadecimal-1 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "21. $srcdir/dumps.m4:321      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d21(
-# Testing single lines to Hexadecimal-1 and back
-# Snippet )d21)
-# Snippet (s21(
-# starting from `dumps.m4:321'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:324: testing..."
-echo dumps.m4:324 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../x1 output
-  recode /x1../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s21)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 21"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=21
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c22(
-
-rm -rf output stdout stderr
-# Snippet )c22)
-  echo dumps.m4:338 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Hexadecimal-1 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "22. $srcdir/dumps.m4:338      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d22(
-# Testing block of lines to Hexadecimal-1 and back
-# Snippet )d22)
-# Snippet (s22(
-# starting from `dumps.m4:338'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:341: testing..."
-echo dumps.m4:341 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../x1 output
-recode /x1../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s22)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 22"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=22
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c23(
-
-rm -rf input output stdout stderr
-# Snippet )c23)
-  echo dumps.m4:353 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Hexadecimal-2'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "23. $srcdir/dumps.m4:353      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d23(
-# Testing single lines to Hexadecimal-2
-# Snippet )d23)
-# Snippet (s23(
-# starting from `dumps.m4:353'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:356: testing..."
-echo dumps.m4:356 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../x2 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x0A
-0x610A
-0x6162, 0x0A
-0x6162, 0x630A
-0x6162, 0x6364, 0x0A
-0x6162, 0x6364, 0x6566, 0x6768, 0x690A
-0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
-0x7172, 0x730A
-0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
-0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x430A
-0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
-0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x4344, 0x4546,
-0x4748, 0x494A, 0x4B4C, 0x4D0A
-0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
-0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x4344, 0x4546,
-0x4748, 0x494A, 0x4B4C, 0x4D4E, 0x4F50, 0x5152, 0x5354, 0x5556,
-0x570A
-0x6162, 0x6364, 0x6566, 0x6768, 0x696A, 0x6B6C, 0x6D6E, 0x6F70,
-0x7172, 0x7374, 0x7576, 0x777A, 0x797A, 0x4142, 0x4344, 0x4546,
-0x4748, 0x494A, 0x4B4C, 0x4D4E, 0x4F50, 0x5152, 0x5354, 0x5556,
-0x5758, 0x595A, 0x3031, 0x3233, 0x3435, 0x360A
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s23)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 23"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=23
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c24(
-
-rm -rf input output stdout stderr
-# Snippet )c24)
-  echo dumps.m4:385 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Hexadecimal-2'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "24. $srcdir/dumps.m4:385      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d24(
-# Testing block of lines to Hexadecimal-2
-# Snippet )d24)
-# Snippet (s24(
-# starting from `dumps.m4:385'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:388: testing..."
-echo dumps.m4:388 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../x2 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x0A61, 0x0A61, 0x620A, 0x6162, 0x630A, 0x6162, 0x6364, 0x0A61,
-0x6263, 0x6465, 0x6667, 0x6869, 0x0A61, 0x6263, 0x6465, 0x6667,
-0x6869, 0x6A6B, 0x6C6D, 0x6E6F, 0x7071, 0x7273, 0x0A61, 0x6263,
-0x6465, 0x6667, 0x6869, 0x6A6B, 0x6C6D, 0x6E6F, 0x7071, 0x7273,
-0x7475, 0x7677, 0x7A79, 0x7A41, 0x4243, 0x0A61, 0x6263, 0x6465,
-0x6667, 0x6869, 0x6A6B, 0x6C6D, 0x6E6F, 0x7071, 0x7273, 0x7475,
-0x7677, 0x7A79, 0x7A41, 0x4243, 0x4445, 0x4647, 0x4849, 0x4A4B,
-0x4C4D, 0x0A61, 0x6263, 0x6465, 0x6667, 0x6869, 0x6A6B, 0x6C6D,
-0x6E6F, 0x7071, 0x7273, 0x7475, 0x7677, 0x7A79, 0x7A41, 0x4243,
-0x4445, 0x4647, 0x4849, 0x4A4B, 0x4C4D, 0x4E4F, 0x5051, 0x5253,
-0x5455, 0x5657, 0x0A61, 0x6263, 0x6465, 0x6667, 0x6869, 0x6A6B,
-0x6C6D, 0x6E6F, 0x7071, 0x7273, 0x7475, 0x7677, 0x7A79, 0x7A41,
-0x4243, 0x4445, 0x4647, 0x4849, 0x4A4B, 0x4C4D, 0x4E4F, 0x5051,
-0x5253, 0x5455, 0x5657, 0x5859, 0x5A30, 0x3132, 0x3334, 0x3536,
-0x0A
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s24)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 24"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=24
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c25(
-
-rm -rf input output stdout stderr
-# Snippet )c25)
-  echo dumps.m4:410 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Hexadecimal-2 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "25. $srcdir/dumps.m4:410      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d25(
-# Testing single lines to Hexadecimal-2 and back
-# Snippet )d25)
-# Snippet (s25(
-# starting from `dumps.m4:410'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:413: testing..."
-echo dumps.m4:413 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../x2 output
-  recode /x2../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s25)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 25"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=25
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c26(
-
-rm -rf output stdout stderr
-# Snippet )c26)
-  echo dumps.m4:427 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Hexadecimal-2 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "26. $srcdir/dumps.m4:427      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d26(
-# Testing block of lines to Hexadecimal-2 and back
-# Snippet )d26)
-# Snippet (s26(
-# starting from `dumps.m4:427'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:430: testing..."
-echo dumps.m4:430 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../x2 output
-recode /x2../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s26)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 26"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=26
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c27(
-
-rm -rf input output stdout stderr
-# Snippet )c27)
-  echo dumps.m4:442 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Hexadecimal-4'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "27. $srcdir/dumps.m4:442      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d27(
-# Testing single lines to Hexadecimal-4
-# Snippet )d27)
-# Snippet (s27(
-# starting from `dumps.m4:442'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:445: testing..."
-echo dumps.m4:445 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../x4 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x0A
-0x610A
-0x61620A
-0x6162630A
-0x61626364, 0x0A
-0x61626364, 0x65666768, 0x690A
-0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x7172730A
-0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
-0x797A4142, 0x430A
-0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
-0x797A4142, 0x43444546, 0x4748494A, 0x4B4C4D0A
-0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
-0x797A4142, 0x43444546, 0x4748494A, 0x4B4C4D4E, 0x4F505152, 0x53545556,
-0x570A
-0x61626364, 0x65666768, 0x696A6B6C, 0x6D6E6F70, 0x71727374, 0x7576777A,
-0x797A4142, 0x43444546, 0x4748494A, 0x4B4C4D4E, 0x4F505152, 0x53545556,
-0x5758595A, 0x30313233, 0x3435360A
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s27)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 27"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=27
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c28(
-
-rm -rf input output stdout stderr
-# Snippet )c28)
-  echo dumps.m4:470 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Hexadecimal-4'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "28. $srcdir/dumps.m4:470      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d28(
-# Testing block of lines to Hexadecimal-4
-# Snippet )d28)
-# Snippet (s28(
-# starting from `dumps.m4:470'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:473: testing..."
-echo dumps.m4:473 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../x4 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x0A610A61, 0x620A6162, 0x630A6162, 0x63640A61, 0x62636465, 0x66676869,
-0x0A616263, 0x64656667, 0x68696A6B, 0x6C6D6E6F, 0x70717273, 0x0A616263,
-0x64656667, 0x68696A6B, 0x6C6D6E6F, 0x70717273, 0x74757677, 0x7A797A41,
-0x42430A61, 0x62636465, 0x66676869, 0x6A6B6C6D, 0x6E6F7071, 0x72737475,
-0x76777A79, 0x7A414243, 0x44454647, 0x48494A4B, 0x4C4D0A61, 0x62636465,
-0x66676869, 0x6A6B6C6D, 0x6E6F7071, 0x72737475, 0x76777A79, 0x7A414243,
-0x44454647, 0x48494A4B, 0x4C4D4E4F, 0x50515253, 0x54555657, 0x0A616263,
-0x64656667, 0x68696A6B, 0x6C6D6E6F, 0x70717273, 0x74757677, 0x7A797A41,
-0x42434445, 0x46474849, 0x4A4B4C4D, 0x4E4F5051, 0x52535455, 0x56575859,
-0x5A303132, 0x33343536, 0x0A
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s28)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 28"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=28
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c29(
-
-rm -rf input output stdout stderr
-# Snippet )c29)
-  echo dumps.m4:490 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Hexadecimal-4 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "29. $srcdir/dumps.m4:490      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d29(
-# Testing single lines to Hexadecimal-4 and back
-# Snippet )d29)
-# Snippet (s29(
-# starting from `dumps.m4:490'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:493: testing..."
-echo dumps.m4:493 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../x4 output
-  recode /x4../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s29)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 29"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=29
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c30(
-
-rm -rf output stdout stderr
-# Snippet )c30)
-  echo dumps.m4:507 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Hexadecimal-4 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "30. $srcdir/dumps.m4:507      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d30(
-# Testing block of lines to Hexadecimal-4 and back
-# Snippet )d30)
-# Snippet (s30(
-# starting from `dumps.m4:507'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:510: testing..."
-echo dumps.m4:510 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../x4 output
-recode /x4../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s30)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 30"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=30
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c31(
-
-rm -rf input output stdout stderr
-# Snippet )c31)
-  echo dumps.m4:522 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Octal-1'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "31. $srcdir/dumps.m4:522      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d31(
-# Testing single lines to Octal-1
-# Snippet )d31)
-# Snippet (s31(
-# starting from `dumps.m4:522'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:525: testing..."
-echo dumps.m4:525 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../o1 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0012
-0141, 0012
-0141, 0142, 0012
-0141, 0142, 0143, 0012
-0141, 0142, 0143, 0144, 0012
-0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0012
-0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
-0155, 0156, 0157, 0160, 0161, 0162, 0163, 0012
-0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
-0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
-0171, 0172, 0101, 0102, 0103, 0012
-0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
-0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
-0171, 0172, 0101, 0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112,
-0113, 0114, 0115, 0012
-0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
-0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
-0171, 0172, 0101, 0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112,
-0113, 0114, 0115, 0116, 0117, 0120, 0121, 0122, 0123, 0124, 0125, 0126,
-0127, 0012
-0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154,
-0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172,
-0171, 0172, 0101, 0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112,
-0113, 0114, 0115, 0116, 0117, 0120, 0121, 0122, 0123, 0124, 0125, 0126,
-0127, 0130, 0131, 0132, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0012
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s31)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 31"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=31
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c32(
-
-rm -rf input output stdout stderr
-# Snippet )c32)
-  echo dumps.m4:558 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Octal-1'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "32. $srcdir/dumps.m4:558      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d32(
-# Testing block of lines to Octal-1
-# Snippet )d32)
-# Snippet (s32(
-# starting from `dumps.m4:558'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:561: testing..."
-echo dumps.m4:561 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../o1 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0012, 0141, 0012, 0141, 0142, 0012, 0141, 0142, 0143, 0012, 0141, 0142,
-0143, 0144, 0012, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151,
-0012, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153,
-0154, 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0012, 0141, 0142, 0143,
-0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157,
-0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172, 0171, 0172, 0101,
-0102, 0103, 0012, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0150, 0151,
-0152, 0153, 0154, 0155, 0156, 0157, 0160, 0161, 0162, 0163, 0164, 0165,
-0166, 0167, 0172, 0171, 0172, 0101, 0102, 0103, 0104, 0105, 0106, 0107,
-0110, 0111, 0112, 0113, 0114, 0115, 0012, 0141, 0142, 0143, 0144, 0145,
-0146, 0147, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0160, 0161,
-0162, 0163, 0164, 0165, 0166, 0167, 0172, 0171, 0172, 0101, 0102, 0103,
-0104, 0105, 0106, 0107, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117,
-0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0012, 0141, 0142, 0143,
-0144, 0145, 0146, 0147, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157,
-0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0172, 0171, 0172, 0101,
-0102, 0103, 0104, 0105, 0106, 0107, 0110, 0111, 0112, 0113, 0114, 0115,
-0116, 0117, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0130, 0131,
-0132, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0012
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s32)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 32"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=32
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c33(
-
-rm -rf input output stdout stderr
-# Snippet )c33)
-  echo dumps.m4:587 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Octal-1 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "33. $srcdir/dumps.m4:587      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d33(
-# Testing single lines to Octal-1 and back
-# Snippet )d33)
-# Snippet (s33(
-# starting from `dumps.m4:587'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:590: testing..."
-echo dumps.m4:590 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../o1 output
-  recode /o1../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s33)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 33"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=33
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c34(
-
-rm -rf output stdout stderr
-# Snippet )c34)
-  echo dumps.m4:604 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Octal-1 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "34. $srcdir/dumps.m4:604      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d34(
-# Testing block of lines to Octal-1 and back
-# Snippet )d34)
-# Snippet (s34(
-# starting from `dumps.m4:604'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:607: testing..."
-echo dumps.m4:607 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../o1 output
-recode /o1../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s34)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 34"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=34
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c35(
-
-rm -rf input output stdout stderr
-# Snippet )c35)
-  echo dumps.m4:619 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Octal-2'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "35. $srcdir/dumps.m4:619      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d35(
-# Testing single lines to Octal-2
-# Snippet )d35)
-# Snippet (s35(
-# starting from `dumps.m4:619'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:622: testing..."
-echo dumps.m4:622 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../o2 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0012
-0060412
-0060542, 0012
-0060542, 0061412
-0060542, 0061544, 0012
-0060542, 0061544, 0062546, 0063550, 0064412
-0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
-0070562, 0071412
-0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
-0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041412
-0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
-0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041504, 0042506,
-0043510, 0044512, 0045514, 0046412
-0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
-0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041504, 0042506,
-0043510, 0044512, 0045514, 0046516, 0047520, 0050522, 0051524, 0052526,
-0053412
-0060542, 0061544, 0062546, 0063550, 0064552, 0065554, 0066556, 0067560,
-0070562, 0071564, 0072566, 0073572, 0074572, 0040502, 0041504, 0042506,
-0043510, 0044512, 0045514, 0046516, 0047520, 0050522, 0051524, 0052526,
-0053530, 0054532, 0030061, 0031063, 0032065, 0033012
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s35)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 35"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=35
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c36(
-
-rm -rf input output stdout stderr
-# Snippet )c36)
-  echo dumps.m4:651 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Octal-2'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "36. $srcdir/dumps.m4:651      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d36(
-# Testing block of lines to Octal-2
-# Snippet )d36)
-# Snippet (s36(
-# starting from `dumps.m4:651'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:654: testing..."
-echo dumps.m4:654 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../o2 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0005141, 0005141, 0061012, 0060542, 0061412, 0060542, 0061544, 0005141,
-0061143, 0062145, 0063147, 0064151, 0005141, 0061143, 0062145, 0063147,
-0064151, 0065153, 0066155, 0067157, 0070161, 0071163, 0005141, 0061143,
-0062145, 0063147, 0064151, 0065153, 0066155, 0067157, 0070161, 0071163,
-0072165, 0073167, 0075171, 0075101, 0041103, 0005141, 0061143, 0062145,
-0063147, 0064151, 0065153, 0066155, 0067157, 0070161, 0071163, 0072165,
-0073167, 0075171, 0075101, 0041103, 0042105, 0043107, 0044111, 0045113,
-0046115, 0005141, 0061143, 0062145, 0063147, 0064151, 0065153, 0066155,
-0067157, 0070161, 0071163, 0072165, 0073167, 0075171, 0075101, 0041103,
-0042105, 0043107, 0044111, 0045113, 0046115, 0047117, 0050121, 0051123,
-0052125, 0053127, 0005141, 0061143, 0062145, 0063147, 0064151, 0065153,
-0066155, 0067157, 0070161, 0071163, 0072165, 0073167, 0075171, 0075101,
-0041103, 0042105, 0043107, 0044111, 0045113, 0046115, 0047117, 0050121,
-0051123, 0052125, 0053127, 0054131, 0055060, 0030462, 0031464, 0032466,
-0012
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s36)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 36"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=36
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c37(
-
-rm -rf input output stdout stderr
-# Snippet )c37)
-  echo dumps.m4:676 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Octal-2 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "37. $srcdir/dumps.m4:676      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d37(
-# Testing single lines to Octal-2 and back
-# Snippet )d37)
-# Snippet (s37(
-# starting from `dumps.m4:676'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:679: testing..."
-echo dumps.m4:679 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../o2 output
-  recode /o2../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s37)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 37"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=37
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c38(
-
-rm -rf output stdout stderr
-# Snippet )c38)
-  echo dumps.m4:693 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Octal-2 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "38. $srcdir/dumps.m4:693      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d38(
-# Testing block of lines to Octal-2 and back
-# Snippet )d38)
-# Snippet (s38(
-# starting from `dumps.m4:693'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:696: testing..."
-echo dumps.m4:696 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../o2 output
-recode /o2../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s38)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 38"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=38
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c39(
-
-rm -rf input output stdout stderr
-# Snippet )c39)
-  echo dumps.m4:708 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Octal-4'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "39. $srcdir/dumps.m4:708      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d39(
-# Testing single lines to Octal-4
-# Snippet )d39)
-# Snippet (s39(
-# starting from `dumps.m4:708'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:711: testing..."
-echo dumps.m4:711 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../o4 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0012
-0060412
-030261012
-014130461412
-014130461544, 0012
-014130461544, 014531463550, 0064412
-014130461544, 014531463550, 015132465554, 015533467560,
-016134471412
-014130461544, 014531463550, 015132465554, 015533467560,
-016134471564, 016535473572, 017136440502, 0041412
-014130461544, 014531463550, 015132465554, 015533467560,
-016134471564, 016535473572, 017136440502, 010321042506,
-010722044512, 011323046412
-014130461544, 014531463550, 015132465554, 015533467560,
-016134471564, 016535473572, 017136440502, 010321042506,
-010722044512, 011323046516, 011724050522, 012325052526,
-0053412
-014130461544, 014531463550, 015132465554, 015533467560,
-016134471564, 016535473572, 017136440502, 010321042506,
-010722044512, 011323046516, 011724050522, 012325052526,
-012726054532, 006014231063, 006415233012
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s39)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 39"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=39
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c40(
-
-rm -rf input output stdout stderr
-# Snippet )c40)
-  echo dumps.m4:740 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Octal-4'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "40. $srcdir/dumps.m4:740      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d40(
-# Testing block of lines to Octal-4
-# Snippet )d40)
-# Snippet (s40(
-# starting from `dumps.m4:740'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:743: testing..."
-echo dumps.m4:743 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../o4 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "001230205141, 014202460542, 014302460542, 014331005141,
-014230662145, 014631664151, 001230261143, 014431263147,
-015032265153, 015433267157, 016034271163, 001230261143,
-014431263147, 015032265153, 015433267157, 016034271163,
-016435273167, 017236275101, 010220605141, 014230662145,
-014631664151, 015232666155, 015633670161, 016234672165,
-016635675171, 017220241103, 010421243107, 011022245113,
-011423205141, 014230662145, 014631664151, 015232666155,
-015633670161, 016234672165, 016635675171, 017220241103,
-010421243107, 011022245113, 011423247117, 012024251123,
-012425253127, 001230261143, 014431263147, 015032265153,
-015433267157, 016034271163, 016435273167, 017236275101,
-010220642105, 010621644111, 011222646115, 011623650121,
-012224652125, 012625654131, 013214030462, 006315032466,
-0012
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s40)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 40"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=40
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c41(
-
-rm -rf input output stdout stderr
-# Snippet )c41)
-  echo dumps.m4:765 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Octal-4 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "41. $srcdir/dumps.m4:765      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d41(
-# Testing single lines to Octal-4 and back
-# Snippet )d41)
-# Snippet (s41(
-# starting from `dumps.m4:765'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:768: testing..."
-echo dumps.m4:768 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../o4 output
-  recode /o4../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s41)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 41"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=41
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c42(
-
-rm -rf output stdout stderr
-# Snippet )c42)
-  echo dumps.m4:782 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Octal-4 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "42. $srcdir/dumps.m4:782      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d42(
-# Testing block of lines to Octal-4 and back
-# Snippet )d42)
-# Snippet (s42(
-# starting from `dumps.m4:782'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/dumps.m4:785: testing..."
-echo dumps.m4:785 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../o4 output
-recode /o4../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s42)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 42"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=42
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c43(
-
-rm -rf stdout stderr
-# Snippet )c43)
-  echo base64.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Base64'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "43. $srcdir/base64.m4:3       $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d43(
-# Testing single lines to Base64
-# Snippet )d43)
-# Snippet (s43(
-# starting from `base64.m4:3'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/base64.m4:6: testing..."
-echo base64.m4:6 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-( while read line; do echo $line | recode ../64 || exit 1; done
-) < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "Cg==
-YQo=
-YWIK
-YWJjCg==
-YWJjZAo=
-YWJjZGVmZ2hpCg==
-YWJjZGVmZ2hpamtsbW5vcHFycwo=
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkMK
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNCg==
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWVwo=
-YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
-NTYK
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s43)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 43"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=43
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c44(
-
-rm -rf stdout stderr
-# Snippet )c44)
-  echo base64.m4:26 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Base64'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "44. $srcdir/base64.m4:26      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d44(
-# Testing block of lines to Base64
-# Snippet )d44)
-# Snippet (s44(
-# starting from `base64.m4:26'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/base64.m4:29: testing..."
-echo base64.m4:29 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode /../64 < $at_srcdir/dumps-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "CmEKYWIKYWJjCmFiY2QKYWJjZGVmZ2hpCmFiY2RlZmdoaWprbG1ub3BxcnMKYWJjZGVmZ2hpamts
-bW5vcHFyc3R1dnd6eXpBQkMKYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xN
-CmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3enl6QUJDREVGR0hJSktMTU5PUFFSU1RVVlcKYWJjZGVm
-Z2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTYK
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s44)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 44"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=44
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c45(
-
-rm -rf input output stdout stderr
-# Snippet )c45)
-  echo base64.m4:40 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines to Base64 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "45. $srcdir/base64.m4:40      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d45(
-# Testing single lines to Base64 and back
-# Snippet )d45)
-# Snippet (s45(
-# starting from `base64.m4:40'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/base64.m4:43: testing..."
-echo base64.m4:43 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo $line > input
-  echo $line > output
-  recode /../64 output
-  recode /64../ output
-  diff input output
-done < $at_srcdir/dumps-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s45)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 45"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=45
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c46(
-
-rm -rf output stdout stderr
-# Snippet )c46)
-  echo base64.m4:57 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to Base64 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "46. $srcdir/base64.m4:57      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d46(
-# Testing block of lines to Base64 and back
-# Snippet )d46)
-# Snippet (s46(
-# starting from `base64.m4:57'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/base64.m4:60: testing..."
-echo base64.m4:60 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/dumps-data output
-chmod +w output
-recode /../64 output
-recode /64../ output
-diff $at_srcdir/dumps-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s46)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 46"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=46
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c47(
-
-rm -rf stdout stderr
-# Snippet )c47)
-  echo quoted.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines from Quoted Printable'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "47. $srcdir/quoted.m4:3       $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d47(
-# Testing block of lines from Quoted Printable
-# Snippet )d47)
-# Snippet (s47(
-# starting from `quoted.m4:3'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/quoted.m4:6: testing..."
-echo quoted.m4:6 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode qp..x1 < $at_srcdir/quoted-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x44, 0x65, 0x61, 0x72, 0x20, 0xDE, 0x6F, 0x72, 0x76, 0x61, 0x72, 0x64,
-0xF0, 0x75, 0x72, 0x2C, 0x0A, 0x0A, 0xAB, 0x20, 0x4F, 0xF9, 0x20, 0x71,
-0x75, 0x27, 0x69, 0x6C, 0x20, 0x72, 0xE9, 0x73, 0x69, 0x64, 0x65, 0x2C,
-0x20, 0xE0, 0x20, 0x4E, 0xEE, 0x6D, 0x65, 0x73, 0x20, 0x6F, 0x75, 0x20,
-0x6D, 0xEA, 0x6D, 0x65, 0x20, 0x43, 0x61, 0x70, 0x68, 0x61, 0x72, 0x6E,
-0x61, 0xFC, 0x6D, 0x2C, 0x20, 0x74, 0x6F, 0x75, 0x74, 0x20, 0x46, 0x72,
-0x61, 0x6E, 0xE7, 0x61, 0x69, 0x73, 0x20, 0x69, 0x6E, 0x73, 0x63, 0x72,
-0x69, 0x74, 0x0A, 0x61, 0x75, 0x20, 0x72, 0xF4, 0x6C, 0x65, 0x20, 0x70,
-0x61, 0x79, 0x65, 0x72, 0x61, 0x20, 0x73, 0x6F, 0x6E, 0x20, 0x64, 0xFB,
-0x20, 0x64, 0xE8, 0x73, 0x20, 0x61, 0x76, 0x61, 0x6E, 0x74, 0x20, 0x4E,
-0x6F, 0xEB, 0x6C, 0x2C, 0x20, 0x71, 0x75, 0x27, 0x69, 0x6C, 0x20, 0x73,
-0x6F, 0x69, 0x74, 0x20, 0x6E, 0x61, 0xEF, 0x66, 0x20, 0x6F, 0x75, 0x20,
-0x72, 0xE2, 0x6C, 0x65, 0x75, 0x72, 0x2E, 0x20, 0xBB, 0x0A, 0x49, 0x6E,
-0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74, 0x65, 0x20, 0x6C, 0x61, 0x73,
-0x74, 0x20, 0x6C, 0x69, 0x6E, 0x65
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s47)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 47"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=47
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c48(
-
-rm -rf output stdout stderr
-# Snippet )c48)
-  echo quoted.m4:28 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines from Quoted Printable and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "48. $srcdir/quoted.m4:28      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d48(
-# Testing block of lines from Quoted Printable and back
-# Snippet )d48)
-# Snippet (s48(
-# starting from `quoted.m4:28'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/quoted.m4:31: testing..."
-echo quoted.m4:31 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/quoted-data output
-chmod +w output
-recode qp..x1 output
-recode x1..qp output
-diff $at_srcdir/quoted-data output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s48)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 48"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=48
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf output stdout stderr
-  fi
-fi
-
-echo
-echo 'Individual charsets.'
-echo
-
-# FIXME: tests for atarist, next, ebcdic, tables, applemac, ibmpc, iconqnx,
-# cdcnos, bangbang, ascii, flat, html, latex, texinfo, texte and utf16.
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c49(
-
-rm -rf expout example transcript stdout stderr expout
-# Snippet )c49)
-  echo african.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing Bambara'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "49. $srcdir/african.m4:3      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d49(
-# Testing Bambara
-# Snippet )d49)
-# Snippet (s49(
-# starting from `african.m4:3'.
-$at_traceon
-
-cat <<'EOF' >example
-N ye n ka nsiirin nin da Amadu Tara la.  Jamanatigi d=F2 tun b=E8 yen muso
-k=F2n=F2nt=F2 de tun b=E8 a f=E8.  Muso k=F2n=F2nt=F2 b=E8=E8 ye denk=E8 ke=
-len kelen
-wolo a ye.  A denk=E8 kelen kelen b=E8=E8 fana t=F2g=F2 ye ko Amadu.  Amadu
-ninw, u ba t=F2g=F2 de tun b=E8 da u kan ka u b=F2 ny=F2g=F2n na.  Amadu b=
-=E8=E8
-ncinin tun ye denk=E8 ninw b=E8=E8 la d=F2g=F2nin o de tun ye Amadu Tara ye.
-O tun ye jamanatigi nin ka taramuso den ye.
-EOF
-
-cat <<'EOF' >transcript
-TiB5ZSBuIGthIG5zaWlyaW4gbmluIGRhIEFtYWR1IFRhcmEgbGEuICBKYW1hbmF0aWdpIGRvYCB0
-dW4gYmVgIHllbiBtdXNvCmtvYG5vYG50b2AgZGUgdHVuIGJlYCBhIGZlYC4gIE11c28ga29gbm9g
-bnRvYCBiZWBlYCB5ZSBkZW5rZWAga2VsZW4ga2VsZW4Kd29sbyBhIHllLiAgQSBkZW5rZWAga2Vs
-ZW4ga2VsZW4gYmVgZWAgZmFuYSB0b2Bnb2AgeWUga28gQW1hZHUuICBBbWFkdQpuaW53LCB1IGJh
-IHRvYGdvYCBkZSB0dW4gYmVgIGRhIHUga2FuIGthIHUgYm9gIG55b2Bnb2BuIG5hLiAgQW1hZHUg
-YmVgZWAKbmNpbmluIHR1biB5ZSBkZW5rZWAgbmludyBiZWBlYCBsYSBkb2Bnb2BuaW4gbyBkZSB0
-dW4geWUgQW1hZHUgVGFyYSB5ZS4KTyB0dW4geWUgamFtYW5hdGlnaSBuaW4ga2EgdGFyYW11c28g
-ZGVuIHllLgo=
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:28: testing..."
-echo african.m4:28 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp transcript expout
-recode ../,bambara/qp..t-bambara/64 < example
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:33: testing..."
-echo african.m4:33 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp example expout
-recode ../,t-bambara/64..bambara/qp < transcript
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s49)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 49"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=49
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expout example transcript stdout stderr expout
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c50(
-
-rm -rf expout example transcript stdout stderr expout
-# Snippet )c50)
-  echo african.m4:40 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing Peul Fulfulde'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "50. $srcdir/african.m4:40     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d50(
-# Testing Peul Fulfulde
-# Snippet )d50)
-# Snippet (s50(
-# starting from `african.m4:40'.
-$at_traceon
-
-cat <<'EOF' >example
-Woni =B2on haa =B1ooyi.  Oya mar=B2o jiwo kaanaro on maayi.  Suka no
-ton no wi=BDee Buubu Yee=B1e, on suka e nder sukaa=B1e aduna on alaa
-bur=B2o mo labeede.  On suka yahi safaari, o woni ton haa nee=B1i ---
-wa duu=B1i sappo o ko fawi! --- Yumma makko maraa =B1i=B2=B2o
-go=BDo si wonaa kanko.
-EOF
-
-cat <<'EOF' >transcript
-V29uaSBkW29uIGhhYSBiW29veWkuICBPeWEgbWFyZFtvIGppd28ga2FhbmFybyBvbiBtYWF5aS4g
-IFN1a2Egbm8KdG9uIG5vIHdpP15lZSBCdXVidSBZZWViW2UsIG9uIHN1a2EgZSBuZGVyIHN1a2Fh
-YltlIGFkdW5hIG9uIGFsYWEKYnVyZFtvIG1vIGxhYmVlZGUuICBPbiBzdWthIHlhaGkgc2FmYWFy
-aSwgbyB3b25pIHRvbiBoYWEgbmVlYltpIC0tLQp3YSBkdXViW2kgc2FwcG8gbyBrbyBmYXdpISAt
-LS0gWXVtbWEgbWFra28gbWFyYWEgYltpZFtkW28KZ28/Xm8gc2kgd29uYWEga2Fua28uCg==
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:59: testing..."
-echo african.m4:59 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp transcript expout
-recode ../,fulfulde/qp..t-fulfulde/64 < example
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:64: testing..."
-echo african.m4:64 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp example expout
-recode ../,t-fulfulde/64..fulfulde/qp < transcript
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s50)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 50"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=50
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expout example transcript stdout stderr expout
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c51(
-
-rm -rf expout example transcript stdout stderr expout
-# Snippet )c51)
-  echo african.m4:71 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing Lingala'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "51. $srcdir/african.m4:71     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d51(
-# Testing Lingala
-# Snippet )d51)
-# Snippet (s51(
-# starting from `african.m4:71'.
-$at_traceon
-
-cat <<'EOF' >example
-Mob=E1li m=B6k=B6, azal=E1k=ED s=E9 y=E9m=B6k=B6 n=E1 bil=B6k=F8 m=EDngi.
-Mok=F8l=F8 m=B6k=B6 alob=ED: t=EDk=E1 n=E1k=F0nd=F0 koluka mw=E3s=ED.  Ak=
-=F0=ED.
-At=E1mb=F3l=ED k=E1 k=E1 k=E1, ak=F3m=ED namb=F3ka m=B6k=B6, ak=FAt=ED w=E2=
-n=E1 Ntaba.
-Ntaba at=FAn=ED y=FD: ndeko, =F5kok=F0nd=F0 w=E1pi?  Moto alob=ED: n=E3kok=
-=F0nd=F0
-koluka mw=E3si yakob=E1la nay=E9.  Ntaba alob=ED: zil=E1 ng=E1=ED t=F3k=F0n=
-d=F0
-el=F8ng=B6.
-EOF
-
-cat <<'EOF' >transcript
-TW9iYVwnbGkgbW9bJ2tvWycsIGF6YWxhXCdraVwnIHNlXCcgeWVcJ21vWydrb1snIG5hXCcgYmls
-b1sna29bIG1pXCduZ2kuCk1va29bbG9bIG1vWydrb1snIGFsb2JpXCc6IHRpXCdrYVwnIG5hXCdr
-ZVtuZGVbIGtvbHVrYSBtd2FcdnNpXCcuICBBa2VbaVwnLgpBdGFcJ21ib1wnbGlcJyBrYVwnIGth
-XCcga2FcJywgYWtvXCdtaVwnIG5hbWJvXCdrYSBtb1sna29bJywgYWt1XCd0aVwnIHdhXm5hXCcg
-TnRhYmEuCk50YWJhIGF0dVwnbmlcJyB5ZVx2OiBuZGVrbywgb1x2a29rZVtuZGVbIHdhXCdwaT8g
-IE1vdG8gYWxvYmlcJzogbmFcdmtva2VbbmRlWwprb2x1a2EgbXdhXHZzaSB5YWtvYmFcJ2xhIG5h
-eWVcJy4gIE50YWJhIGFsb2JpXCc6IHppbGFcJyBuZ2FcJ2lcJyB0b1wna2VbbmRlWwplbG9bbmdv
-WycuCg==
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:98: testing..."
-echo african.m4:98 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp transcript expout
-recode ../,lingala/qp..t-lingala/64 < example
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:103: testing..."
-echo african.m4:103 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp example expout
-recode ../,t-lingala/64..lingala/qp < transcript
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s51)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 51"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=51
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expout example transcript stdout stderr expout
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c52(
-
-rm -rf expout example transcript stdout stderr expout
-# Snippet )c52)
-  echo african.m4:110 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing Sango'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "52. $srcdir/african.m4:110    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d52(
-# Testing Sango
-# Snippet )d52)
-# Snippet (s52(
-# starting from `african.m4:110'.
-$at_traceon
-
-cat <<'EOF' >example
-M=E2ley=F6mb=F6 ayeke mb=EAn=EE wakua t=EE let=E4a.  Lo yeke zo s=F4 lo y=
-=EA kua t=EE
-lo m=EEngi.  Azo t=EE y=E2 t=EE vaka s=F4 s=EF lo yeke l=E4ng=F6 da=E4 s=F4=
- ay=EA
-t=EBn=EB t=EE lo m=EEngi ngbanga t=EE nz=F6n=EE dut=EF t=EE lo na y=E2ng=E2=
-da t=EE
-lo na =E2s=EBw=E4 t=EE lo.
-EOF
-
-cat <<'EOF' >transcript
-TWFebGV5byJtYm8iIGF5ZWtlIG1iZV5uaV4gd2FrdWEgdGleIGxldGEiYS4gIExvIHlla2Ugem8g
-c29eIGxvIHllXiBrdWEgdGleCmxvIG1pXm5naS4gIEF6byB0aV4geWFeIHRpXiB2YWthIHNvXiBz
-aSIgbG8geWVrZSBsYSJuZ28iIGRhYSIgc29eIGF5ZV4KdGUibmUiIHRpXiBsbyBtaV5uZ2kgbmdi
-YW5nYSB0aV4gbnpvIm5pXiBkdXRpIiB0aV4gbG8gbmEgeWFebmdhXmRhIHRpXgpsbyBuYSBhXnNl
-IndhIiB0aV4gbG8uCg==
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:131: testing..."
-echo african.m4:131 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp transcript expout
-recode ../,sango/qp..t-sango/64 < example
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:136: testing..."
-echo african.m4:136 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp example expout
-recode ../,t-sango/64..sango/qp < transcript
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s52)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 52"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=52
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expout example transcript stdout stderr expout
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c53(
-
-rm -rf expout example transcript stdout stderr expout
-# Snippet )c53)
-  echo african.m4:143 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing Wolof'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "53. $srcdir/african.m4:143    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d53(
-# Testing Wolof
-# Snippet )d53)
-# Snippet (s53(
-# starting from `african.m4:143'.
-$at_traceon
-
-cat <<'EOF' >example
-Ca 1965 ba leegi, Suwaahili mooy l=E0kk r=E9=E9wum Tansani.  L=E0kk woowu
-la=BAuy j=E0ngalee ci daara yu ndaw yi ag yu yem yi.  Ci moom la =BAuy
-jottalee xabaar yi =BAuy wax ag yi =BAuy bind.
-EOF
-
-cat <<'EOF' >transcript
-Q2EgMTk2NSBiYSBsZWVnaSwgU3V3YWFoaWxpIG1vb3kgbGFga2sgcmVcJ2VcJ3d1bSBUYW5zYW5p
-LiAgTGFga2sgd29vd3UKbGFuXnV5IGphYG5nYWxlZSBjaSBkYWFyYSB5dSBuZGF3IHlpIGFnIHl1
-IHllbSB5aS4gIENpIG1vb20gbGEgbl51eQpqb3R0YWxlZSB4YWJhYXIgeWkgbl51eSB3YXggYWcg
-eWkgbl51eSBiaW5kLgo=
-EOF
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:159: testing..."
-echo african.m4:159 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp transcript expout
-recode ../,wolof/qp..t-wolof/64 < example
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/african.m4:164: testing..."
-echo african.m4:164 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-cp example expout
-recode ../,t-wolof/64..wolof/qp < transcript
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff expout stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s53)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 53"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=53
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf expout example transcript stdout stderr expout
-  fi
-fi
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c54(
-
-rm -rf stdout stderr
-# Snippet )c54)
-  echo combine.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing that combine does not crash'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "54. $srcdir/combine.m4:3      $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d54(
-# Testing that combine does not crash
-# Snippet )d54)
-# Snippet (s54(
-# starting from `combine.m4:3'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/combine.m4:6: testing..."
-echo combine.m4:6 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode co..l1 < /dev/null
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s54)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 54"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=54
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr
-  fi
-fi
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c55(
-
-rm -rf stdout stderr
-# Snippet )c55)
-  echo testdump.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing testing and counting'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "55. $srcdir/testdump.m4:3     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d55(
-# Testing testing and counting
-# Snippet )d55)
-# Snippet (s55(
-# starting from `testdump.m4:3'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/testdump.m4:6: testing..."
-echo testdump.m4:6 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode test7..x,us..count < /dev/null
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 11  000A LF   117  0020 SP   127  002C ,    152  0030 0     24  0031 1
- 24  0032 2     24  0033 3     24  0034 4     24  0035 5     24  0036 6
- 24  0037 7      8  0038 8      8  0039 9      8  0041 A      8  0042 B
-  8  0043 C      8  0044 D      8  0045 E      8  0046 F    128  0078 x
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/testdump.m4:13: testing..."
-echo testdump.m4:13 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode test8..x,us..count < /dev/null
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 22  000A LF   234  0020 SP   255  002C ,    288  0030 0     32  0031 1
- 32  0032 2     32  0033 3     32  0034 4     32  0035 5     32  0036 6
- 32  0037 7     32  0038 8     32  0039 9     32  0041 A     32  0042 B
- 32  0043 C     32  0044 D     32  0045 E     32  0046 F    256  0078 x
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/testdump.m4:20: testing..."
-echo testdump.m4:20 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode test15..x2,us..count < /dev/null
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 8064  000A LF   56445  0020 SP   64508  002C ,    80765  0030 0
-16256  0031 1    16256  0032 2    16256  0033 3    16256  0034 4
-16256  0035 5    16256  0036 6    16256  0037 7    16256  0038 8
-16256  0039 9    16256  0041 A    16256  0042 B    16000  0043 C
-14975  0044 D    15999  0045 E    15990  0046 F    64509  0078 x
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/testdump.m4:28: testing..."
-echo testdump.m4:28 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode test16..x2,us..count < /dev/null
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n " 8192  000A LF   57344  0020 SP   65535  002C ,    81920  0030 0
-16384  0031 1    16384  0032 2    16384  0033 3    16384  0034 4
-16384  0035 5    16384  0036 6    16384  0037 7    16384  0038 8
-16384  0039 9    16384  0041 A    16384  0042 B    16384  0043 C
-16384  0044 D    16384  0045 E    16384  0046 F    65536  0078 x
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s55)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 55"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=55
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr
-  fi
-fi
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c56(
-
-rm -rf stdout stderr
-# Snippet )c56)
-  echo utf7.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines from UTF-7'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "56. $srcdir/utf7.m4:3         $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d56(
-# Testing single lines from UTF-7
-# Snippet )d56)
-# Snippet (s56(
-# starting from `utf7.m4:3'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/utf7.m4:6: testing..."
-echo utf7.m4:6 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo "$line" | recode ../,u7..u6/x2
-done < $at_srcdir/utf7-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0xFEFF, 0x000A
-0xFEFF, 0x0041, 0x2262, 0x0391, 0x002E, 0x000A
-0xFEFF, 0x0048, 0x0069, 0x0020, 0x004D, 0x006F, 0x006D, 0x0020,
-0x263A, 0x0021, 0x000A
-0xFEFF, 0x65E5, 0x672C, 0x8A9E, 0x000A
-0xFEFF, 0x0049, 0x0074, 0x0065, 0x006D, 0x0020, 0x0033, 0x0020,
-0x0069, 0x0073, 0x0020, 0x00A3, 0x0031, 0x002E, 0x000A
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s56)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 56"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=56
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c57(
-
-rm -rf input output stdout stderr
-# Snippet )c57)
-  echo utf7.m4:24 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing single lines from UTF-7 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "57. $srcdir/utf7.m4:24        $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d57(
-# Testing single lines from UTF-7 and back
-# Snippet )d57)
-# Snippet (s57(
-# starting from `utf7.m4:24'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/utf7.m4:27: testing..."
-echo utf7.m4:27 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-while read line; do
-  echo "$line" > input
-  echo "$line" > output
-  recode u7..u6/x2 output
-  recode u6/x2..u7 output
-  diff input output
-done < $at_srcdir/utf7-data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s57)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 57"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=57
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c58(
-
-rm -rf stdout stderr
-# Snippet )c58)
-  echo utf8.m4:3 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to UTF-8'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "58. $srcdir/utf8.m4:3         $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d58(
-# Testing block of lines to UTF-8
-# Snippet )d58)
-# Snippet (s58(
-# starting from `utf8.m4:3'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/utf8.m4:6: testing..."
-echo utf8.m4:6 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-recode l1/qp..u8/x < $at_srcdir/quoted-data
-
-at_status=$?
-if test $at_status != 0; then
-  test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6
-  exit $at_status
-fi
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  echo $at_n "0x44, 0x65, 0x61, 0x72, 0x20, 0xC3, 0x9E, 0x6F, 0x72, 0x76, 0x61, 0x72,
-0x64, 0xC3, 0xB0, 0x75, 0x72, 0x2C, 0x0A, 0x0A, 0xC2, 0xAB, 0x20, 0x4F,
-0xC3, 0xB9, 0x20, 0x71, 0x75, 0x27, 0x69, 0x6C, 0x20, 0x72, 0xC3, 0xA9,
-0x73, 0x69, 0x64, 0x65, 0x2C, 0x20, 0xC3, 0xA0, 0x20, 0x4E, 0xC3, 0xAE,
-0x6D, 0x65, 0x73, 0x20, 0x6F, 0x75, 0x20, 0x6D, 0xC3, 0xAA, 0x6D, 0x65,
-0x20, 0x43, 0x61, 0x70, 0x68, 0x61, 0x72, 0x6E, 0x61, 0xC3, 0xBC, 0x6D,
-0x2C, 0x20, 0x74, 0x6F, 0x75, 0x74, 0x20, 0x46, 0x72, 0x61, 0x6E, 0xC3,
-0xA7, 0x61, 0x69, 0x73, 0x20, 0x69, 0x6E, 0x73, 0x63, 0x72, 0x69, 0x74,
-0x0A, 0x61, 0x75, 0x20, 0x72, 0xC3, 0xB4, 0x6C, 0x65, 0x20, 0x70, 0x61,
-0x79, 0x65, 0x72, 0x61, 0x20, 0x73, 0x6F, 0x6E, 0x20, 0x64, 0xC3, 0xBB,
-0x20, 0x64, 0xC3, 0xA8, 0x73, 0x20, 0x61, 0x76, 0x61, 0x6E, 0x74, 0x20,
-0x4E, 0x6F, 0xC3, 0xAB, 0x6C, 0x2C, 0x20, 0x71, 0x75, 0x27, 0x69, 0x6C,
-0x20, 0x73, 0x6F, 0x69, 0x74, 0x20, 0x6E, 0x61, 0xC3, 0xAF, 0x66, 0x20,
-0x6F, 0x75, 0x20, 0x72, 0xC3, 0xA2, 0x6C, 0x65, 0x75, 0x72, 0x2E, 0x20,
-0xC2, 0xBB, 0x0A, 0x49, 0x6E, 0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74,
-0x65, 0x20, 0x6C, 0x61, 0x73, 0x74, 0x20, 0x6C, 0x69, 0x6E, 0x65
-$at_c" | $at_diff - stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s58)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 58"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=58
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c59(
-
-rm -rf input output stdout stderr
-# Snippet )c59)
-  echo utf8.m4:29 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing block of lines to UTF-8 and back'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "59. $srcdir/utf8.m4:29        $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d59(
-# Testing block of lines to UTF-8 and back
-# Snippet )d59)
-# Snippet (s59(
-# starting from `utf8.m4:29'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/utf8.m4:32: testing..."
-echo utf8.m4:32 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_srcdir/quoted-data input
-cp $at_srcdir/quoted-data output
-chmod +w output
-recode l1/qp..u8 output
-recode u8..l1/qp output
-diff input output
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s59)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 59"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=59
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf input output stdout stderr
-  fi
-fi
-
-echo
-echo 'Inter-step mechanics.'
-echo
-
-#                                                      -*- shell-script -*-
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c60(
-
-rm -rf data stdout stderr
-# Snippet )c60)
-  echo methods.m4:23 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:texte through memory while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "60. $srcdir/methods.m4:23     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d60(
-# Testing texte:texte through memory while filtering
-# Snippet )d60)
-# Snippet (s60(
-# starting from `methods.m4:23'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:23: testing..."
-echo methods.m4:23 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=memory < $at_top_srcdir/COPYING texte..texte \
-| recode --quiet --force --sequence=memory texte..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s60)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 60"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=60
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c61(
-
-rm -rf data stdout stderr
-# Snippet )c61)
-  echo methods.m4:26 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:texte through memory while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "61. $srcdir/methods.m4:26     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d61(
-# Testing texte:texte through memory while squashing
-# Snippet )d61)
-# Snippet (s61(
-# starting from `methods.m4:26'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:26: testing..."
-echo methods.m4:26 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=memory texte..texte data
-recode --quiet --force --sequence=memory texte..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s61)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 61"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=61
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c62(
-
-rm -rf data stdout stderr
-# Snippet )c62)
-  echo methods.m4:29 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:texte through files while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "62. $srcdir/methods.m4:29     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d62(
-# Testing texte:texte through files while filtering
-# Snippet )d62)
-# Snippet (s62(
-# starting from `methods.m4:29'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:29: testing..."
-echo methods.m4:29 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=files < $at_top_srcdir/COPYING texte..texte \
-| recode --quiet --force --sequence=files texte..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s62)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 62"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=62
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c63(
-
-rm -rf data stdout stderr
-# Snippet )c63)
-  echo methods.m4:32 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:texte through files while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "63. $srcdir/methods.m4:32     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d63(
-# Testing texte:texte through files while squashing
-# Snippet )d63)
-# Snippet (s63(
-# starting from `methods.m4:32'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:32: testing..."
-echo methods.m4:32 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=files texte..texte data
-recode --quiet --force --sequence=files texte..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s63)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 63"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=63
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c64(
-
-rm -rf data stdout stderr
-# Snippet )c64)
-  echo methods.m4:35 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:texte through pipe while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "64. $srcdir/methods.m4:35     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d64(
-# Testing texte:texte through pipe while filtering
-# Snippet )d64)
-# Snippet (s64(
-# starting from `methods.m4:35'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:35: testing..."
-echo methods.m4:35 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=pipe < $at_top_srcdir/COPYING texte..texte \
-| recode --quiet --force --sequence=pipe texte..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s64)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 64"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=64
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c65(
-
-rm -rf data stdout stderr
-# Snippet )c65)
-  echo methods.m4:38 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:texte through pipe while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "65. $srcdir/methods.m4:38     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d65(
-# Testing texte:texte through pipe while squashing
-# Snippet )d65)
-# Snippet (s65(
-# starting from `methods.m4:38'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:38: testing..."
-echo methods.m4:38 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=pipe texte..texte data
-recode --quiet --force --sequence=pipe texte..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s65)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 65"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=65
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c66(
-
-rm -rf data stdout stderr
-# Snippet )c66)
-  echo methods.m4:41 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:latin1 through memory while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "66. $srcdir/methods.m4:41     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d66(
-# Testing texte:latin1 through memory while filtering
-# Snippet )d66)
-# Snippet (s66(
-# starting from `methods.m4:41'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:41: testing..."
-echo methods.m4:41 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=memory < $at_top_srcdir/COPYING texte..latin1 \
-| recode --quiet --force --sequence=memory latin1..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s66)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 66"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=66
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c67(
-
-rm -rf data stdout stderr
-# Snippet )c67)
-  echo methods.m4:44 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:latin1 through memory while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "67. $srcdir/methods.m4:44     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d67(
-# Testing texte:latin1 through memory while squashing
-# Snippet )d67)
-# Snippet (s67(
-# starting from `methods.m4:44'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:44: testing..."
-echo methods.m4:44 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=memory texte..latin1 data
-recode --quiet --force --sequence=memory latin1..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s67)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 67"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=67
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c68(
-
-rm -rf data stdout stderr
-# Snippet )c68)
-  echo methods.m4:47 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:latin1 through files while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "68. $srcdir/methods.m4:47     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d68(
-# Testing texte:latin1 through files while filtering
-# Snippet )d68)
-# Snippet (s68(
-# starting from `methods.m4:47'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:47: testing..."
-echo methods.m4:47 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=files < $at_top_srcdir/COPYING texte..latin1 \
-| recode --quiet --force --sequence=files latin1..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s68)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 68"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=68
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c69(
-
-rm -rf data stdout stderr
-# Snippet )c69)
-  echo methods.m4:50 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:latin1 through files while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "69. $srcdir/methods.m4:50     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d69(
-# Testing texte:latin1 through files while squashing
-# Snippet )d69)
-# Snippet (s69(
-# starting from `methods.m4:50'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:50: testing..."
-echo methods.m4:50 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=files texte..latin1 data
-recode --quiet --force --sequence=files latin1..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s69)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 69"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=69
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c70(
-
-rm -rf data stdout stderr
-# Snippet )c70)
-  echo methods.m4:53 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:latin1 through pipe while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "70. $srcdir/methods.m4:53     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d70(
-# Testing texte:latin1 through pipe while filtering
-# Snippet )d70)
-# Snippet (s70(
-# starting from `methods.m4:53'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:53: testing..."
-echo methods.m4:53 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=pipe < $at_top_srcdir/COPYING texte..latin1 \
-| recode --quiet --force --sequence=pipe latin1..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s70)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 70"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=70
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c71(
-
-rm -rf data stdout stderr
-# Snippet )c71)
-  echo methods.m4:56 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:latin1 through pipe while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "71. $srcdir/methods.m4:56     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d71(
-# Testing texte:latin1 through pipe while squashing
-# Snippet )d71)
-# Snippet (s71(
-# starting from `methods.m4:56'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:56: testing..."
-echo methods.m4:56 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=pipe texte..latin1 data
-recode --quiet --force --sequence=pipe latin1..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s71)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 71"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=71
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c72(
-
-rm -rf data stdout stderr
-# Snippet )c72)
-  echo methods.m4:59 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:bangbang through memory while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "72. $srcdir/methods.m4:59     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d72(
-# Testing texte:bangbang through memory while filtering
-# Snippet )d72)
-# Snippet (s72(
-# starting from `methods.m4:59'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:59: testing..."
-echo methods.m4:59 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=memory < $at_top_srcdir/COPYING texte..bangbang \
-| recode --quiet --force --sequence=memory bangbang..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s72)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 72"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=72
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c73(
-
-rm -rf data stdout stderr
-# Snippet )c73)
-  echo methods.m4:62 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:bangbang through memory while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "73. $srcdir/methods.m4:62     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d73(
-# Testing texte:bangbang through memory while squashing
-# Snippet )d73)
-# Snippet (s73(
-# starting from `methods.m4:62'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:62: testing..."
-echo methods.m4:62 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=memory texte..bangbang data
-recode --quiet --force --sequence=memory bangbang..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s73)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 73"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=73
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c74(
-
-rm -rf data stdout stderr
-# Snippet )c74)
-  echo methods.m4:65 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:bangbang through files while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "74. $srcdir/methods.m4:65     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d74(
-# Testing texte:bangbang through files while filtering
-# Snippet )d74)
-# Snippet (s74(
-# starting from `methods.m4:65'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:65: testing..."
-echo methods.m4:65 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=files < $at_top_srcdir/COPYING texte..bangbang \
-| recode --quiet --force --sequence=files bangbang..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s74)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 74"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=74
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c75(
-
-rm -rf data stdout stderr
-# Snippet )c75)
-  echo methods.m4:68 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:bangbang through files while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "75. $srcdir/methods.m4:68     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d75(
-# Testing texte:bangbang through files while squashing
-# Snippet )d75)
-# Snippet (s75(
-# starting from `methods.m4:68'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:68: testing..."
-echo methods.m4:68 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=files texte..bangbang data
-recode --quiet --force --sequence=files bangbang..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s75)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 75"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=75
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c76(
-
-rm -rf data stdout stderr
-# Snippet )c76)
-  echo methods.m4:71 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:bangbang through pipe while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "76. $srcdir/methods.m4:71     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d76(
-# Testing texte:bangbang through pipe while filtering
-# Snippet )d76)
-# Snippet (s76(
-# starting from `methods.m4:71'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:71: testing..."
-echo methods.m4:71 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=pipe < $at_top_srcdir/COPYING texte..bangbang \
-| recode --quiet --force --sequence=pipe bangbang..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s76)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 76"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=76
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c77(
-
-rm -rf data stdout stderr
-# Snippet )c77)
-  echo methods.m4:74 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:bangbang through pipe while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "77. $srcdir/methods.m4:74     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d77(
-# Testing texte:bangbang through pipe while squashing
-# Snippet )d77)
-# Snippet (s77(
-# starting from `methods.m4:74'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:74: testing..."
-echo methods.m4:74 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=pipe texte..bangbang data
-recode --quiet --force --sequence=pipe bangbang..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s77)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 77"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=77
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c78(
-
-rm -rf data stdout stderr
-# Snippet )c78)
-  echo methods.m4:77 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:ibmpc through memory while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "78. $srcdir/methods.m4:77     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d78(
-# Testing texte:ibmpc through memory while filtering
-# Snippet )d78)
-# Snippet (s78(
-# starting from `methods.m4:77'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:77: testing..."
-echo methods.m4:77 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=memory < $at_top_srcdir/COPYING texte..ibmpc \
-| recode --quiet --force --sequence=memory ibmpc..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s78)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 78"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=78
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c79(
-
-rm -rf data stdout stderr
-# Snippet )c79)
-  echo methods.m4:80 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:ibmpc through memory while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "79. $srcdir/methods.m4:80     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d79(
-# Testing texte:ibmpc through memory while squashing
-# Snippet )d79)
-# Snippet (s79(
-# starting from `methods.m4:80'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:80: testing..."
-echo methods.m4:80 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=memory texte..ibmpc data
-recode --quiet --force --sequence=memory ibmpc..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s79)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 79"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=79
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c80(
-
-rm -rf data stdout stderr
-# Snippet )c80)
-  echo methods.m4:83 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:ibmpc through files while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "80. $srcdir/methods.m4:83     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d80(
-# Testing texte:ibmpc through files while filtering
-# Snippet )d80)
-# Snippet (s80(
-# starting from `methods.m4:83'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:83: testing..."
-echo methods.m4:83 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=files < $at_top_srcdir/COPYING texte..ibmpc \
-| recode --quiet --force --sequence=files ibmpc..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s80)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 80"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=80
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c81(
-
-rm -rf data stdout stderr
-# Snippet )c81)
-  echo methods.m4:86 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:ibmpc through files while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "81. $srcdir/methods.m4:86     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d81(
-# Testing texte:ibmpc through files while squashing
-# Snippet )d81)
-# Snippet (s81(
-# starting from `methods.m4:86'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:86: testing..."
-echo methods.m4:86 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=files texte..ibmpc data
-recode --quiet --force --sequence=files ibmpc..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s81)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 81"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=81
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c82(
-
-rm -rf data stdout stderr
-# Snippet )c82)
-  echo methods.m4:89 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:ibmpc through pipe while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "82. $srcdir/methods.m4:89     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d82(
-# Testing texte:ibmpc through pipe while filtering
-# Snippet )d82)
-# Snippet (s82(
-# starting from `methods.m4:89'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:89: testing..."
-echo methods.m4:89 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=pipe < $at_top_srcdir/COPYING texte..ibmpc \
-| recode --quiet --force --sequence=pipe ibmpc..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s82)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 82"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=82
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c83(
-
-rm -rf data stdout stderr
-# Snippet )c83)
-  echo methods.m4:92 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:ibmpc through pipe while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "83. $srcdir/methods.m4:92     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d83(
-# Testing texte:ibmpc through pipe while squashing
-# Snippet )d83)
-# Snippet (s83(
-# starting from `methods.m4:92'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:92: testing..."
-echo methods.m4:92 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=pipe texte..ibmpc data
-recode --quiet --force --sequence=pipe ibmpc..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s83)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 83"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=83
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c84(
-
-rm -rf data stdout stderr
-# Snippet )c84)
-  echo methods.m4:95 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:iconqnx through memory while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "84. $srcdir/methods.m4:95     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d84(
-# Testing texte:iconqnx through memory while filtering
-# Snippet )d84)
-# Snippet (s84(
-# starting from `methods.m4:95'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:95: testing..."
-echo methods.m4:95 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=memory < $at_top_srcdir/COPYING texte..iconqnx \
-| recode --quiet --force --sequence=memory iconqnx..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s84)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 84"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=84
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c85(
-
-rm -rf data stdout stderr
-# Snippet )c85)
-  echo methods.m4:98 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:iconqnx through memory while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "85. $srcdir/methods.m4:98     $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d85(
-# Testing texte:iconqnx through memory while squashing
-# Snippet )d85)
-# Snippet (s85(
-# starting from `methods.m4:98'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:98: testing..."
-echo methods.m4:98 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=memory texte..iconqnx data
-recode --quiet --force --sequence=memory iconqnx..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s85)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 85"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=85
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c86(
-
-rm -rf data stdout stderr
-# Snippet )c86)
-  echo methods.m4:101 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:iconqnx through files while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "86. $srcdir/methods.m4:101    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d86(
-# Testing texte:iconqnx through files while filtering
-# Snippet )d86)
-# Snippet (s86(
-# starting from `methods.m4:101'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:101: testing..."
-echo methods.m4:101 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=files < $at_top_srcdir/COPYING texte..iconqnx \
-| recode --quiet --force --sequence=files iconqnx..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s86)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 86"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=86
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c87(
-
-rm -rf data stdout stderr
-# Snippet )c87)
-  echo methods.m4:104 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:iconqnx through files while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "87. $srcdir/methods.m4:104    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d87(
-# Testing texte:iconqnx through files while squashing
-# Snippet )d87)
-# Snippet (s87(
-# starting from `methods.m4:104'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:104: testing..."
-echo methods.m4:104 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=files texte..iconqnx data
-recode --quiet --force --sequence=files iconqnx..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s87)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 87"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=87
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c88(
-
-rm -rf data stdout stderr
-# Snippet )c88)
-  echo methods.m4:107 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:iconqnx through pipe while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "88. $srcdir/methods.m4:107    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d88(
-# Testing texte:iconqnx through pipe while filtering
-# Snippet )d88)
-# Snippet (s88(
-# starting from `methods.m4:107'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:107: testing..."
-echo methods.m4:107 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=pipe < $at_top_srcdir/COPYING texte..iconqnx \
-| recode --quiet --force --sequence=pipe iconqnx..texte > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s88)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 88"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=88
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c89(
-
-rm -rf data stdout stderr
-# Snippet )c89)
-  echo methods.m4:110 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing texte:iconqnx through pipe while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "89. $srcdir/methods.m4:110    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d89(
-# Testing texte:iconqnx through pipe while squashing
-# Snippet )d89)
-# Snippet (s89(
-# starting from `methods.m4:110'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:110: testing..."
-echo methods.m4:110 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=pipe texte..iconqnx data
-recode --quiet --force --sequence=pipe iconqnx..texte data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s89)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 89"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=89
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c90(
-
-rm -rf data stdout stderr
-# Snippet )c90)
-  echo methods.m4:113 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing ascii-bs:ebcdic through memory while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "90. $srcdir/methods.m4:113    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d90(
-# Testing ascii-bs:ebcdic through memory while filtering
-# Snippet )d90)
-# Snippet (s90(
-# starting from `methods.m4:113'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:113: testing..."
-echo methods.m4:113 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=memory < $at_top_srcdir/COPYING ascii-bs..ebcdic \
-| recode --quiet --force --sequence=memory ebcdic..ascii-bs > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s90)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 90"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=90
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c91(
-
-rm -rf data stdout stderr
-# Snippet )c91)
-  echo methods.m4:116 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing ascii-bs:ebcdic through memory while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "91. $srcdir/methods.m4:116    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d91(
-# Testing ascii-bs:ebcdic through memory while squashing
-# Snippet )d91)
-# Snippet (s91(
-# starting from `methods.m4:116'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:116: testing..."
-echo methods.m4:116 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=memory ascii-bs..ebcdic data
-recode --quiet --force --sequence=memory ebcdic..ascii-bs data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s91)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 91"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=91
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c92(
-
-rm -rf data stdout stderr
-# Snippet )c92)
-  echo methods.m4:119 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing ascii-bs:ebcdic through files while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "92. $srcdir/methods.m4:119    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d92(
-# Testing ascii-bs:ebcdic through files while filtering
-# Snippet )d92)
-# Snippet (s92(
-# starting from `methods.m4:119'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:119: testing..."
-echo methods.m4:119 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=files < $at_top_srcdir/COPYING ascii-bs..ebcdic \
-| recode --quiet --force --sequence=files ebcdic..ascii-bs > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s92)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 92"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=92
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c93(
-
-rm -rf data stdout stderr
-# Snippet )c93)
-  echo methods.m4:122 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing ascii-bs:ebcdic through files while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "93. $srcdir/methods.m4:122    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d93(
-# Testing ascii-bs:ebcdic through files while squashing
-# Snippet )d93)
-# Snippet (s93(
-# starting from `methods.m4:122'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:122: testing..."
-echo methods.m4:122 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=files ascii-bs..ebcdic data
-recode --quiet --force --sequence=files ebcdic..ascii-bs data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s93)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 93"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=93
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c94(
-
-rm -rf data stdout stderr
-# Snippet )c94)
-  echo methods.m4:125 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing ascii-bs:ebcdic through pipe while filtering'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "94. $srcdir/methods.m4:125    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d94(
-# Testing ascii-bs:ebcdic through pipe while filtering
-# Snippet )d94)
-# Snippet (s94(
-# starting from `methods.m4:125'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:125: testing..."
-echo methods.m4:125 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-recode --quiet --force --sequence=pipe < $at_top_srcdir/COPYING ascii-bs..ebcdic \
-| recode --quiet --force --sequence=pipe ebcdic..ascii-bs > data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s94)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 94"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=94
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-# Snippet (c95(
-
-rm -rf data stdout stderr
-# Snippet )c95)
-  echo methods.m4:128 > at-check-line
-  if test -n "$at_verbose"; then
-    echo 'testing ascii-bs:ebcdic through pipe while squashing'
-    echo $at_n "     $at_c"
-  fi
-  echo $at_n "95. $srcdir/methods.m4:128    $at_c"
-  if test -z "$at_skip_mode"; then
-    (
-# Snippet (d95(
-# Testing ascii-bs:ebcdic through pipe while squashing
-# Snippet )d95)
-# Snippet (s95(
-# starting from `methods.m4:128'.
-$at_traceon
-
-$at_traceoff
-test -n "$at_verbose" \
-  && echo "$srcdir/methods.m4:128: testing..."
-echo methods.m4:128 > at-check-line
-test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr
-$at_traceon
-set -e
-cp $at_top_srcdir/COPYING data
-chmod +w data
-recode --quiet --force --sequence=pipe ascii-bs..ebcdic data
-recode --quiet --force --sequence=pipe ebcdic..ascii-bs data
-diff $at_top_srcdir/COPYING data
-set +e
-
-$at_traceoff
-if test -z "$at_no_redirs"; then
-  exec 1>&5 2>&6
-  $at_diff /dev/null stdout || exit 1
-  $at_diff /dev/null stderr || exit 1
-fi
-$at_traceon
-
-$at_traceoff
-# Snippet )s95)
-    )
-    case $? in
-      0) echo ok
-        ;;
-      77) echo "ignored near \``cat at-check-line`'"
-         at_ignore_count=`expr $at_ignore_count + 1`
-         ;;
-      *) echo "FAILED near \``cat at-check-line`'"
-        at_failed_list="$at_failed_list 95"
-        ;;
-    esac
-  else
-     echo 'ignored (skipped)'
-     at_ignore_count=`expr $at_ignore_count + 1`
-  fi
-  at_test_count=95
-  if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then
-    rm -rf data stdout stderr
-  fi
-fi
-
-# Wrap up the testing suite with summary statistics.
-
-rm -f at-check-line
-at_fail_count=0
-if test -z "$at_failed_list"; then
-  if test "$at_ignore_count" = 0; then
-    at_banner="All $at_test_count tests were successful"
-  else
-    at_banner="All $at_test_count tests were successful ($at_ignore_count ignored)"
-  fi
-else
-  echo
-  echo $at_n "Writing \`debug-NN.sh' scripts, NN =$at_c"
-  for at_group in $at_failed_list; do
-    echo $at_n " $at_group$at_c"
-    ( echo '#!/bin/sh'
-      sed -n '/^# Snippet (1/,/^# Snippet )1/p' atconfig
-      test -z "$at_silent" && echo 'at_verbose=1'
-      sed -n '/^# Snippet (2/,/^# Snippet )2/p' atconfig
-      sed -n "/^# Snippet (3/,/^# Snippet )3/p" $0
-      sed -n "/^# Snippet (c$at_group(/,/^# Snippet )c$at_group)/p" $0
-      at_desc="`sed -n \
-        '/^# Snippet (d'$at_group'(/,/^# Snippet )d'$at_group')/p' $0 \
-        | sed -n '2s/^# //p'`"
-      echo 'if test -n "$at_verbose"; then'
-      echo '  at_banner="$0: '$at_desc'"'
-      echo '  at_dashes=`echo $at_banner | sed s/./=/g`'
-      echo '  echo'
-      echo '  echo "$at_dashes"'
-      echo '  echo "$at_banner"'
-      echo '  echo "$at_dashes"'
-      echo 'fi'
-      echo
-      sed -n "/^# Snippet (d$at_group(/,/^# Snippet )d$at_group)/p" $0
-      sed -n "/^# Snippet (s$at_group(/,/^# Snippet )s$at_group)/p" $0
-      echo 'exit 0'
-    ) | grep -v '^# Snippet' > debug-$at_group.sh
-    chmod +x debug-$at_group.sh
-    at_fail_count=`expr $at_fail_count + 1`
-  done
-  echo ', done'
-  if test -n "$at_stop_on_error"; then
-    at_banner='ERROR: One of the tests failed, inhibiting subsequent tests'
-  else
-    at_banner="ERROR: Suite unsuccessful, $at_fail_count of $at_test_count tests failed"
-  fi
-fi
-at_dashes=`echo $at_banner | sed s/./=/g`
-echo
-echo "$at_dashes"
-echo "$at_banner"
-echo "$at_dashes"
-
-if test -n "$at_failed_list"; then
-  if test -z "$at_silent"; then
-    echo
-    echo 'When reporting failed tests to maintainers, do not merely list test'
-    echo 'numbers, as the numbering changes between releases and pretests.'
-    echo 'Be careful to give at least all the information you got about them.'
-    echo 'You may investigate any problem if you feel able to do so, in which'
-    echo 'case the generated debugging scripts provide good starting points.'
-    echo "Go on and modify them at will.  \`./debug-NN --help' gives usage"
-    echo 'information.  Now, failed tests will be executed again, verbosely.'
-    for at_group in $at_failed_list; do
-      ./debug-$at_group.sh
-    done
-  fi
-  exit 1
-fi
-
-exit 0
diff --git a/tests/utf7-data b/tests/utf7-data
deleted file mode 100644 (file)
index f3b3945..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-A+ImIDkQ.
-Hi Mom +Jjo!
-+ZeVnLIqe
-Item 3 is +AKM-1.
diff --git a/tests/utf7.m4 b/tests/utf7.m4
deleted file mode 100644 (file)
index ed39f82..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#                                                      -*- shell-script -*-
-
-AT_SETUP(single lines from UTF-7)
-dnl      -----------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo "$line" | recode ../,u7..u6/x2
-done < $at_srcdir/utf7-data
-set +e
-], ,
-[0xFEFF, 0x000A
-0xFEFF, 0x0041, 0x2262, 0x0391, 0x002E, 0x000A
-0xFEFF, 0x0048, 0x0069, 0x0020, 0x004D, 0x006F, 0x006D, 0x0020,
-0x263A, 0x0021, 0x000A
-0xFEFF, 0x65E5, 0x672C, 0x8A9E, 0x000A
-0xFEFF, 0x0049, 0x0074, 0x0065, 0x006D, 0x0020, 0x0033, 0x0020,
-0x0069, 0x0073, 0x0020, 0x00A3, 0x0031, 0x002E, 0x000A
-])
-
-AT_CLEANUP()
-
-AT_SETUP(single lines from UTF-7 and back)
-dnl      --------------------------------
-
-AT_CHECK(
-[set -e
-while read line; do
-  echo "$line" > input
-  echo "$line" > output
-  recode u7..u6/x2 output
-  recode u6/x2..u7 output
-  diff input output
-done < $at_srcdir/utf7-data
-set +e
-])
-
-AT_CLEANUP(input output)