#! /bin/sh -vx # $Id$ # Copyright 2023 Japanese TeX Development Community # Copyright 2017-2018 Karl Berry # Copyright 2010-2014 Peter Breitenlohner # You may freely use, modify and/or distribute this file. W2CDir=${W2CDir:-..} ExeExt=${ExeExt:-} _ptex=$W2CDir/ptex$ExeExt _pltotf=$W2CDir/pltotf$ExeExt _tftopl=$W2CDir/tftopl$ExeExt _dvitype=$W2CDir/dvitype$ExeExt LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE testdir=$abs_srcdir/triptrap ptestdir=$abs_srcdir/ptexdir/ptrip TEXMFCNF=$ptestdir; export TEXMFCNF rm -rf ptripdir mkdir ptripdir cd ptripdir mkdir -p a b # TeX Live generic cat >filter <<-\_EOF s,^\*\*(\./trip\.tex ##,** \&trip trip \ (trip.tex ##, s/ (TeX Live 20[^)]*)// s/ (Web2C 202[3-9][^)]*)// s/(preloaded format=.*tex)/(INITEX)/ s/format=trip [^)][^)]*)/format=trip)/ s/) [0-9A-Z: ]*$/)/ s,^(\./,(, s/[1-9][0-9]* strings out of [1-9].*/XX strings out of YYY/ s/[1-9][0-9]* string characters out of [1-9].*/XXX string characters out of YYYY/ s/sequences out of [1-9].*/sequences out of YYYY/ s/[1-9] hyphenation exceptions* out of [1-9].*/X hyphenation exceptions out of YYY/ s/[1-9][0-9]* strings of total length [1-9].*/XXXX strings of total length YYYYY/ s/9 ops out of [1-9][0-9]*/9 ops out of YYY/ s/TeX output ....\...\...:..../TeX output YYYY.MM.DD:hhmm/ _EOF # x86 glue rounding cat >>filter <<-\_EOF s/ 16341\.999.*fil/ 16342.0fil/ s/ 16238\.999.*fil/ 16239.0fil/ s/ 16317\.999.*fil/ 16318.0fil/ s/ 16330\.999.*fil/ 16331.0fil/ s/ 16331\.999.*fil/ 16332.0fil/ s/ 16343\.999.*fil/ 16344.0fil/ s/ 9737\.587..fil/ 9737.58789fil/ s/down4 639342.../down4 639342208/ s/y4 2039217../y4 203921760/ s/y0 2039217../y0 203921760/ _EOF # pTeX cat >>filter <<-\_EOF s/This is .*TeX,/This is *TeX,/ s/ (utf8[^)]*)/ / s/ Version 3\.141592653-[^ ]* / Version 3.141592653/ s/ before: [1-9][0-9][0-9][0-9]*&[1-9][0-9][0-9][0-9]*; / before: XXX\&YYY; / s/ after: [1-9][0-9][0-9][0-9]*&[1-9][0-9][0-9][0-9]*; / after: XXX\&YYY; / s/ still untouched: [1-9][0-9][0-9][0-9]*/ still untouched: XXX/ _EOF dvitype_args="-output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'" echo ">>> Running TRIP test for pTeX." >&2 echo ">>> See $ptestdir/ptrip.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 pTeX ***." $_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 $_ptex --progname=pinitex --ini <$testdir/trip1.in >ptripin.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 > ptripin.log || exit 1 $DIFF $testdir/tripin.log ptripin.log # May as well test non-ini second time through. rm -f trip.log $_ptex --progname=ptex <$testdir/trip2.in >ptrip.fot sed "$P_SED1;$P_SED2" trip.log > ptrip.log #diff $testdir/trip.fot ptrip.fot # We use $DIFF instead of `diff' only for those files where there # might actually be legitimate numerical differences. $DIFF $DIFFFLAGS $testdir/trip.log ptrip.log mv tripos.tex ptripos.tex diff $testdir/tripos.tex ptripos.tex || is_OK=false eval $_dvitype $dvitype_args trip.dvi >ptrip.typ || exit 1 #$DIFF $DIFFFLAGS $testdir/trip.typ ptrip.typ for f in trip.fot trip.typ; do sed -f filter $testdir/$f >a/$f sed -f filter p$f >b/$f diff a/$f b/$f || is_OK=false done $is_OK || { echo ">>> There were some errors." >&2 exit 1 }