summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mftraptest.test
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-07-10 09:42:52 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-07-10 09:42:52 +0000
commit29257ccc28919fcb506e6582fa5078ed0e542f70 (patch)
treeb496bed4f943710ee6abb20302b43bbadf6bb4a7 /Build/source/texk/web2c/mftraptest.test
parent116014c0fb6d1b6bce11288c0d39c0f1aeb7cc4e (diff)
Build system: Better dependencies for 'make check'
git-svn-id: svn://tug.org/texlive/trunk@37824 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/mftraptest.test')
-rwxr-xr-xBuild/source/texk/web2c/mftraptest.test82
1 files changed, 82 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mftraptest.test b/Build/source/texk/web2c/mftraptest.test
new file mode 100755
index 00000000000..71fefa76939
--- /dev/null
+++ b/Build/source/texk/web2c/mftraptest.test
@@ -0,0 +1,82 @@
+#! /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
+
+# See triptrap/README for explanation of why we believe these diffs are ok,
+# notably including the capsule numbers.
+
+# TeX Live generic
+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/METAFONT output 20..\...\...:..../METAFONT output 20YY.MM.DD:hhmm/
+ _EOF
+
+# Capsule numbers
+cat >>filter <<-\_EOF
+ s/ %CA$/ %/
+ s/^PSULE1675/CAPSULE1172/
+ s/%CAPSULE[1-9][0-9]*/%CAPSULEnnnn/g
+ _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
+if test ! -s trap.base; then
+ echo "*** trap.base not created by mftrap1.in, investigate!" >&2
+ exit 1
+fi
+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 "*** Error(s) found in mf trap test, investigate!" >&2
+ exit 1
+}