diff options
author | Takuji Tanaka <ttk@t-lab.opal.ne.jp> | 2023-01-15 05:09:03 +0000 |
---|---|---|
committer | Takuji Tanaka <ttk@t-lab.opal.ne.jp> | 2023-01-15 05:09:03 +0000 |
commit | 3c9b4e92dfcb1904603d9b878d77b7ef404cbec8 (patch) | |
tree | 0fb5060c3e133c50eb6f2adeecc12f8e95fd5d92 /Build/source/texk/web2c | |
parent | 6ddf7cd5b4795c5aa2144521fe1387dc9146362a (diff) |
e(u)ptex: add new tests
git-svn-id: svn://tug.org/texlive/trunk@65542 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c')
-rw-r--r-- | Build/source/texk/web2c/Makefile.in | 8 | ||||
-rw-r--r-- | Build/source/texk/web2c/eptexdir/am/eptex.am | 4 | ||||
-rwxr-xr-x | Build/source/texk/web2c/eptexdir/wcfname.test | 68 | ||||
-rw-r--r-- | Build/source/texk/web2c/euptexdir/am/euptex.am | 6 | ||||
-rwxr-xr-x | Build/source/texk/web2c/euptexdir/eptriptest.test | 143 | ||||
-rwxr-xr-x | Build/source/texk/web2c/euptexdir/wcfname.test | 94 |
6 files changed, 314 insertions, 9 deletions
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in index 9dd8520424d..4c8913119df 100644 --- a/Build/source/texk/web2c/Makefile.in +++ b/Build/source/texk/web2c/Makefile.in @@ -4487,7 +4487,7 @@ eptex_ch_srcs = \ # e-pTeX Tests # -eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test +eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test eptexdir/wcfname.test uptex_cppflags = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) $(ZLIB_INCLUDES) uptex_ldadd = libukanji.a $(pproglib) $(PTEXENC_LIBS) $(LDADD) $(ZLIB_LIBS) uptex_dependencies = libukanji.a $(pproglib) $(PTEXENC_DEPEND) $(ZLIB_DEPEND) $(default_dependencies) @@ -4603,7 +4603,7 @@ euptex_ch_srcs = \ # e-upTeX Tests # -euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test +euptex_tests = euptexdir/euptriptest.test euptexdir/eptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test euptexdir/wcfname.test # At the moment, these are the only man pages handled in the # conglomerated web2c/Makefile[.am]. (All the others are in man/.) @@ -22082,7 +22082,7 @@ eptex.ch: tie$(EXEEXT) eptex.web $(eptex_ch_srcs) $(tie_c) eptex.web $(eptex_ch_srcs) eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) eptexdir/pdfprimitive.log: eptex$(EXEEXT) -eptexdir/epver.log: eptex$(EXEEXT) +eptexdir/epver.log eptexdir/wcfname.log: eptex$(EXEEXT) eptrip.diffs: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) $(triptrap_diffs) $@ .PHONY: eptrip-clean @@ -22191,7 +22191,7 @@ euptex.web: tie$(EXEEXT) $(euptex_web_srcs) # Generate euptex.ch euptex.ch: tie$(EXEEXT) euptex.web $(euptex_ch_srcs) $(tie_c) euptex.web $(euptex_ch_srcs) -euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) +euptexdir/euptriptest.log euptexdir/eptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) euptexdir/pdfprimitive.log: euptex$(EXEEXT) euptexdir/eupver.log: euptex$(EXEEXT) euptrip.diffs: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) diff --git a/Build/source/texk/web2c/eptexdir/am/eptex.am b/Build/source/texk/web2c/eptexdir/am/eptex.am index 43bac3443f5..d71adf5d339 100644 --- a/Build/source/texk/web2c/eptexdir/am/eptex.am +++ b/Build/source/texk/web2c/eptexdir/am/eptex.am @@ -89,10 +89,10 @@ EXTRA_DIST += \ # e-pTeX Tests # -eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test +eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test eptexdir/wcfname.test eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) eptexdir/pdfprimitive.log: eptex$(EXEEXT) -eptexdir/epver.log: eptex$(EXEEXT) +eptexdir/epver.log eptexdir/wcfname.log: eptex$(EXEEXT) EXTRA_DIST += $(eptex_tests) diff --git a/Build/source/texk/web2c/eptexdir/wcfname.test b/Build/source/texk/web2c/eptexdir/wcfname.test new file mode 100755 index 00000000000..c396097915f --- /dev/null +++ b/Build/source/texk/web2c/eptexdir/wcfname.test @@ -0,0 +1,68 @@ +#! /bin/sh -vx +# +# Copyright 2022-2023 Japanese TeX Development Community <issue@texjp.org> +# You may freely use, modify and/or distribute this file. + +test -d eptests || mkdir -p eptests +rm -f eptests/fn*.log eptests/fn*.txt eptests/fn*.tex fn*.tex + +rc=0 + +TEXMFCNF=$srcdir/../kpathsea +TEXINPUTS=eptests:. +export TEXMFCNF TEXINPUTS + +for loc in C.UTF-8 C.utf8 en_US.UTF-8 en_US.utf8 ja_JP.UTF-8 ja_JP.utf8; do + locale -a | grep $loc + ret=$? + if [ $ret = 0 ]; then + LC_ALL=$loc; LANGUAGE=$loc; export LC_ALL LANGUAGE + break + fi +done +if [ $ret = 1 ]; then + # linux musl fails to run `locale -a` but seems to have C.UTF-8 + loc=C.UTF-8 + LC_ALL=$loc; LANGUAGE=$loc; export LC_ALL LANGUAGE +fi + +perl $srcdir/tests/fn-generate.perl || exit 128 +mv fn*.tex eptests/ + +# pTeX internal encoding +fenc="utf8" +for ienc in euc sjis; do +for doc in fn-$fenc fnさざ波-$fenc; do + + echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc + ./eptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >eptests/$doc-$ienc-term.log || rc=1 + mv $doc-$ienc.txt $doc-$ienc.log fn*-tmp.tex eptests/ + diff eptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=2 + +done +done + + +# pTeX, regacy encoding +for fenc in sjis euc; do +for doc in fnさざ波-$fenc; do + + ienc=$fenc + if [ "$COMSPEC" != "" ]; then + echo "*** We guess OS is Windows." + if [ $fenc != euc ]; then ienc="sjis"; fi + else + echo "*** We guess OS is not Windows." + if [ $fenc != sjis ]; then ienc="euc"; fi + fi + + echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc + ./eptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >eptests/$doc-$fenc-term.log || rc=3 + mv $doc-$ienc.txt $doc-$ienc.log fn*-tmp.tex eptests/ + diff eptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=4 + +done +done + + +exit $rc diff --git a/Build/source/texk/web2c/euptexdir/am/euptex.am b/Build/source/texk/web2c/euptexdir/am/euptex.am index 4b351295329..7cce2ae5cbd 100644 --- a/Build/source/texk/web2c/euptexdir/am/euptex.am +++ b/Build/source/texk/web2c/euptexdir/am/euptex.am @@ -90,10 +90,10 @@ EXTRA_DIST += \ # e-upTeX Tests # -euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test -euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) +euptex_tests = euptexdir/euptriptest.test euptexdir/eptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test euptexdir/wcfname.test +euptexdir/euptriptest.log euptexdir/eptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) euptexdir/pdfprimitive.log: euptex$(EXEEXT) -euptexdir/eupver.log: euptex$(EXEEXT) +euptexdir/eupver.log euptexdir/wcfname.log: euptex$(EXEEXT) EXTRA_DIST += $(euptex_tests) diff --git a/Build/source/texk/web2c/euptexdir/eptriptest.test b/Build/source/texk/web2c/euptexdir/eptriptest.test new file mode 100755 index 00000000000..5ea5510f7a6 --- /dev/null +++ b/Build/source/texk/web2c/euptexdir/eptriptest.test @@ -0,0 +1,143 @@ +#! /bin/sh -vx +# $Id$ +# Copyright 2022-2023 Japanese TeX Development Community <issue@texjp.org> +# Copyright 2017-2018 Karl Berry <tex-live@tug.org> +# Copyright 2011-2014 Peter Breitenlohner <tex-live@tug.org> +# Copyright 2010 Hironori Kitagawa <tex-live@tug.org> +# You may freely use, modify and/or distribute this file. + +LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE + +testdir=$abs_srcdir/triptrap +etestdir=$abs_srcdir/etexdir/etrip +eptestdir=$abs_srcdir/eptexdir/eptrip + +TEXMFCNF=$eptestdir; export TEXMFCNF + +rm -rf eupptripdir +mkdir eupptripdir +cd eupptripdir + +dvitype_args="-output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'" + +echo ">>> Running e-TRIP test for e-upTeX-euc." >&2 +echo ">>> See $eptestdir/eptrip.diffs for example of acceptable diffs." >&2 + +# pTeX outputs direction of boxes. +P_SED1='s/, yoko direction//;s/yoko direction, //' +P_SED2='s/yoko(math) direction, //' + +is_OK=: + +set -x + +echo "*** TRIP test for e-pTeX in compatibility mode ***." + +../pltotf $testdir/trip.pl trip.tfm || exit 1 + +../tftopl ./trip.tfm trip.pl || exit 1 + +diff $testdir/trip.pl trip.pl || is_OK=false + +# get same filename in log +$LN_S $testdir/trip.tex . + +rm -f trip.log +../euptex --kanji-internal=euc --progname=epinitex --ini <$testdir/trip1.in >cptripin.fot +if test ! -s trip.fmt; then + echo "*** trip.fmt not created by trip1.in, investigate!" >&2 + exit 1 +fi +sed "$P_SED1" trip.log > cptripin.log || exit 1 +diff $testdir/tripin.log cptripin.log + +# May as well test non-ini second time through. +rm -f trip.log +../euptex --kanji-internal=euc --progname=eptex <$testdir/trip2.in >cptrip.fot +sed "$P_SED1;$P_SED2" trip.log > cptrip.log +diff $testdir/trip.fot cptrip.fot + +# We use $DIFF instead of `diff' only for those files where there +# might actually be legitimate numerical differences. +$DIFF $DIFFFLAGS $testdir/trip.log cptrip.log + +mv tripos.tex cptripos.tex +diff $testdir/tripos.tex cptripos.tex + +eval ../dvitype $dvitype_args trip.dvi >cptrip.typ || exit 1 +$DIFF $DIFFFLAGS $testdir/trip.typ cptrip.typ + +mv trip.fmt ctrip.fmt + +# ================================= + +echo "*** TRIP test for e-pTeX in extended mode ***." + +rm -f trip.log +../euptex --kanji-internal=euc --progname=epinitex --ini <$etestdir/etrip1.in >xptripin.fot +if test ! -s trip.fmt; then + echo "*** trip.fmt not created by etrip1.in, investigate!" >&2 + exit 1 +fi +sed "$P_SED1" trip.log > xptripin.log || exit 1 +diff $testdir/tripin.log xptripin.log + +# May as well test non-ini second time through. +rm -f trip.log +../euptex --kanji-internal=euc --progname=eptex <$etestdir/trip2.in >xptrip.fot +sed "$P_SED1;$P_SED2" trip.log > xptrip.log +diff $testdir/trip.fot xptrip.fot + +# We use $DIFF instead of `diff' only for those files where there +# might actually be legitimate numerical differences. +$DIFF $DIFFFLAGS $testdir/trip.log xptrip.log + +mv tripos.tex xptripos.tex +diff $testdir/tripos.tex xptripos.tex + +eval ../dvitype $dvitype_args trip.dvi >xptrip.typ || exit 1 +$DIFF $DIFFFLAGS $testdir/trip.typ xptrip.typ + +mv trip.fmt xtrip.fmt + +# ================================= + +echo "*** e-TeX specific part of e-TRIP test for e-pTeX ***." + +../pltotf $etestdir/etrip.pl etrip.tfm || exit 1 + +../tftopl ./etrip.tfm etrip.pl || exit 1 + +diff $etestdir/etrip.pl etrip.pl || is_OK=false + +# get same filename in log +$LN_S $eptestdir/eptrip.tex etrip.tex + +../euptex --kanji-internal=euc --progname=epinitex --ini <$etestdir/etrip2.in >eptripin.fot +if test ! -s etrip.fmt; then + echo "*** etrip.fmt not created by etrip2.in, investigate!" >&2 + exit 1 +fi +sed "$P_SED1" etrip.log > eptripin.log || exit 1 +diff $etestdir/etripin.log eptripin.log + +# May as well test non-ini second time through. +../euptex --kanji-internal=euc --progname=eptex <$etestdir/etrip3.in >eptrip.fot +sed "$P_SED1;$P_SED2" etrip.log > eptrip.log +diff $etestdir/etrip.fot eptrip.fot + +# We use $DIFF instead of `diff' only for those files where there +# might actually be legitimate numerical differences. +$DIFF $DIFFFLAGS $eptestdir/eptrip.log eptrip.log + +mv etrip.out eptrip.out +diff $etestdir/etrip.out eptrip.out + +eval ../dvitype $dvitype_args etrip.dvi >eptrip.typ || exit 1 +$DIFF $DIFFFLAGS $etestdir/etrip.typ eptrip.typ + +$is_OK || { + echo ">>> There were some errors." >&2 + exit 1 +} + diff --git a/Build/source/texk/web2c/euptexdir/wcfname.test b/Build/source/texk/web2c/euptexdir/wcfname.test new file mode 100755 index 00000000000..d812d710ef7 --- /dev/null +++ b/Build/source/texk/web2c/euptexdir/wcfname.test @@ -0,0 +1,94 @@ +#! /bin/sh -vx +# +# Copyright 2022-2023 Japanese TeX Development Community <issue@texjp.org> +# You may freely use, modify and/or distribute this file. + +test -d euptests || mkdir -p euptests +rm -f euptests/fn*.log euptests/fn*.txt euptests/fn*.tex fn*.tex + +rc=0 + +TEXMFCNF=$srcdir/../kpathsea +TEXINPUTS=euptests:. +export TEXMFCNF TEXINPUTS + +for loc in C.UTF-8 C.utf8 en_US.UTF-8 en_US.utf8 ja_JP.UTF-8 ja_JP.utf8; do + locale -a | grep $loc + ret=$? + if [ $ret = 0 ]; then + LC_ALL=$loc; LANGUAGE=$loc; export LC_ALL LANGUAGE + break + fi +done +if [ $ret = 1 ]; then + # linux musl fails to run `locale -a` but seems to have C.UTF-8 + loc=C.UTF-8 + LC_ALL=$loc; LANGUAGE=$loc; export LC_ALL LANGUAGE +fi + +perl $srcdir/tests/fn-generate.perl || exit 128 +mv fn*.tex euptests/ + +# upTeX internal encoding +fenc="utf8" +for ienc in euc sjis uptex; do +for doc in fn-$fenc fnさざ波-$fenc fn£¥µÆÇñß-$fenc; do + + if [ $ienc != uptex -a $doc = fn£¥µÆÇñß-$fenc ]; then + continue + fi + + if [ "$COMSPEC" != "" ]; then + echo "*** We guess OS is Windows." + if [ $ienc = uptex ]; then + command_line_encoding=utf8 + export command_line_encoding + else + command_line_encoding=none + export command_line_encoding + fi + fi + + echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc + ./euptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >euptests/$doc-$ienc-term.log || rc=1 + mv $doc-$ienc.txt $doc-$ienc.log fn*-tmp.tex euptests/ + diff euptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=2 + +done +done + + +# pTeX compatible mode, regacy encoding +for fenc in sjis euc; do +for doc in fnさざ波-$fenc; do + + ienc=$fenc + if [ "$COMSPEC" != "" ]; then + echo "*** We guess OS is Windows." + if [ $fenc != euc ]; then ienc="sjis"; fi + if [ $ienc = uptex ]; then + command_line_encoding=utf8 + export command_line_encoding + else + command_line_encoding=none + export command_line_encoding + fi + else + echo "*** We guess OS is not Windows." + if [ $fenc != sjis ]; then ienc="euc"; fi + fi + if [ $ienc != uptex ]; then + guess_input_kanji_encoding=1 + export guess_input_kanji_encoding + fi + + echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc + ./euptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >euptests/$doc-$fenc-term.log || rc=3 + mv $doc-$ienc.txt $doc-$ienc.log fn*-tmp.tex euptests/ + diff euptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=4 + +done +done + + +exit $rc |