summaryrefslogtreecommitdiff
path: root/util/texi2dvi.test
diff options
context:
space:
mode:
Diffstat (limited to 'util/texi2dvi.test')
-rwxr-xr-xutil/texi2dvi.test84
1 files changed, 84 insertions, 0 deletions
diff --git a/util/texi2dvi.test b/util/texi2dvi.test
new file mode 100755
index 0000000..2f3f075
--- /dev/null
+++ b/util/texi2dvi.test
@@ -0,0 +1,84 @@
+#! /bin/sh
+# Copyright (C) 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is part of GNU Texinfo.
+#
+# GNU Texinfo is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License,
+# or (at your option) any later version.
+#
+# GNU Texinfo is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+required='tex'
+
+. ./defs || exit 1
+
+set -e
+
+# one_run ARGS -- FILES
+# ---------------------
+# Run texi2dvi with ARGS, expect the FILES to be left. Remove them.
+one_run ()
+{
+ # Testing the local build mode.
+ # Use @foo to check that -t works properly.
+ echo "@foo" | create_input_texi
+ TEXI2DVI_pass $(optionset_get 1 "$@") \
+ -t '@macro foo' \
+ -t 'Foo' \
+ -t '@end macro' \
+ input.texi
+ # There should only be the expected FILES and the input file.
+ assert_and_remove_files $(optionset_get 2 "$@") input.texi
+}
+
+one_run --batch \
+ -- \
+ input.aux input.cp input.dvi input.fn input.ky input.log \
+ input.pg input.tp input.vr
+
+
+one_run --batch -o output.dvi \
+ -- \
+ input.aux input.cp input.fn input.ky input.log \
+ input.pg input.tp input.vr output.dvi
+
+
+# Testing the clean build mode.
+for mode in --clean --build=clean
+do
+ # There should only be the DVI and the TEXI file.
+ one_run $mode --batch -- input.dvi
+
+ # There should only be the DVI and the TEXI file.
+ one_run $mode --batch -o output.dvi -- output.dvi
+done
+
+
+# Testing the tidy build mode.
+one_run --build=tidy --batch -o output.dvi \
+ -- \
+ output.dvi output.t2d
+
+
+# mostly-clean should remove auxiliary files, but not the expected
+# output.
+touch output.dvi
+one_run --build=tidy --batch -o output.dvi --mostly-clean \
+ -- \
+ output.dvi
+
+
+# There should only be the DVI and the TEXI file.
+create_input_texi </dev/null
+cp input.texi input2.texi
+one_run --clean --batch input.texi input2.texi \
+ -- \
+ input2.dvi input2.texi input.dvi