1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
#! /bin/sh -vx
# $Id$
# Copyright 2023 Japanese TeX Development Community <issue@texjp.org>
# Copyright 2017-2018 Karl Berry <tex-live@tug.org>
# Copyright 2010-2014 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
W2CDir=${W2CDir:-..}
ExeExt=${ExeExt:-}
_uptex=$W2CDir/uptex$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 upptripdir
mkdir upptripdir
cd upptripdir
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 upTeX-euc." >&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 upTeX-euc ***."
$_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
$_uptex --kanji-internal=euc --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
$_uptex --kanji-internal=euc --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
}
|