summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/triptest.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/triptest.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/triptest.test')
-rwxr-xr-xBuild/source/texk/web2c/triptest.test97
1 files changed, 97 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/triptest.test b/Build/source/texk/web2c/triptest.test
new file mode 100755
index 00000000000..f3f6f131a75
--- /dev/null
+++ b/Build/source/texk/web2c/triptest.test
@@ -0,0 +1,97 @@
+#! /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 tripdir
+mkdir tripdir
+cd tripdir
+mkdir a b
+
+# See triptrap/README for explanation of why we believe these diffs are ok.
+
+# TeX Live generic
+cat >filter <<-\_EOF
+ s,^\*\*(\./trip\.tex ##,** \&trip trip \
+ (trip.tex ##,
+ /^\\openout.*/,/^$/d
+ s/ (TeX Live 20[^)]*)//
+ 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 20..\...\...:..../TeX output 20YY.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
+
+dvitype_args="-output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'"
+
+echo ">>> Running TRIP test for TeX." >&2
+echo ">>> See $testdir/trip.diffs for example of acceptable diffs." >&2
+
+is_OK=:
+
+set -x
+
+../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 .
+
+../tex --progname=initex --ini <$testdir/trip1.in >tripin.fot
+if test ! -s trip.fmt; then
+ echo "*** trip.fmt not created by trip1.in, investigate!" >&2
+ exit 1
+fi
+mv trip.log tripin.log || exit 1
+diff $testdir/tripin.log tripin.log
+
+# May as well test non-ini second time through.
+../tex --progname=tex <$testdir/trip2.in >trip.fot
+diff $testdir/trip.fot trip.fot
+
+# We use $DIFF instead of `diff' only for those files where there
+# might actually be legitimate numerical differences.
+$DIFF $DIFFFLAGS $testdir/trip.log trip.log
+
+eval ../dvitype $dvitype_args trip.dvi >trip.typ || exit 1
+$DIFF $DIFFFLAGS $testdir/trip.typ trip.typ
+
+for f in tripin.log trip.fot trip.log trip.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 trip test, investigate!" >&2
+ exit 1
+}