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
|
#! /bin/sh
# Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
testdir=$abs_srcdir/triptrap
TEXMFCNF=$testdir; export TEXMFCNF
rm -rf trapdir
mkdir trapdir
cd trapdir
mkdir a b
cat >filter <<-\_EOF
s,^\*\*(trap\.mf,** \&trap trap \
(trap.mf,
s/ (TeX Live 20[^)]*)//
s/base=trap [^)][^)]*)/base=trap)/
s/) [0-9A-Z: ]*$/)/
s/usage [1-9][0-9&]* ([1-9][0-9&]* still/usage XX\&XX (YYY\&YYYYY still/
s/[1-9][0-9]* strings of total length [1-9][0-9]*/XXXX strings of total length YYYYY/
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].*/XXXX string characters out of YYYYY/
s/tokens out of [1-9][0-9]*/tokens out of YYYY/
s/out of [1-9][0-9]*i,[0-9nrpb,]*/out of YYi,YYYn,YYYr,YYYp,YYYb/
s/out of [1-9][0-9]*w,[0-9hdilkep,]*)/out of YYYw,YYh,YYd,YYi,YYYYl,YYYk,YYYe,YYp)/
s/ %CA$/ %/
s/^PSULE1675/CAPSULE1172/
s/%CAPSULE[1-9][0-9]*/%CAPSULEnnnn/g
s/METAFONT output 20..\...\...:..../METAFONT output 20YY.MM.DD:hhmm/
_EOF
echo ">>> Running TRAP test for Metafont." >&2
echo ">>> See $testdir/mftrap.diffs for example of acceptable diffs." >&2
is_OK=:
set -x
# get same filename in log
$LN_S $testdir/trap.mf .
../mf --progname=inimf <$testdir/mftrap1.in >mftrapin.fot
mv trap.log mftrapin.log || exit 1
diff $testdir/mftrapin.log mftrapin.log
../mf --progname=inimf <$testdir/mftrap2.in >mftrap.fot
mv trap.log mftrap.log || exit 1
mv trap.tfm mftrap.tfm || exit 1
diff $testdir/mftrap.fot mftrap.fot
diff $testdir/mftrap.log mftrap.log
../tftopl ./mftrap.tfm mftrap.pl || exit 1
diff $testdir/mftrap.pl mftrap.pl || is_OK=false
../gftype -m -i ./trap.72270gf >trap.typ || exit 1
diff $testdir/trap.typ trap.typ
for f in mftrapin.log mftrap.fot mftrap.log trap.typ; do
sed $testdir/$f -f filter >a/$f
sed $f -f filter >b/$f
diff a/$f b/$f || is_OK=false
done
$is_OK && {
echo ">>> All differences are acceptable." >&2
} || {
echo ">>> There were some errors." >&2
exit 1
}
|