diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2010-12-24 02:56:35 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2011-01-11 01:55:03 +0100 |
commit | 6318add07d8f2f8507edcfd85461afea77f68a90 (patch) | |
tree | 40d0e30c985a2cbb85bad6d14238e00c3a0fe50c /tests/vtexi4.test | |
parent | 23934e1f5b4c552065c9499bf61c65455266989c (diff) | |
download | automake-6318add07d8f2f8507edcfd85461afea77f68a90.tar.gz |
Improve, extend and tweak tests on Texinfo support.
* tests/instdir-texi.test: Add a call to `ls -l' after that to
`make', for debugging. When looking for required tools, do not
redirect the output of "$tool --help" to /dev/null, and do not
uselessly run it in a subshell.
* tests/txinfo.test: Rewritten to run autoconf, ./configure and
make. All checks moved into Makefile.am.
* tests/txinfo8.test: Likewise, and modernize the generated
configure.in.
* tests/txinfo2.test: Moved checks into Makefile.am, and other
minor improvements.
* tests/txinfo5.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command.
* tests/txinfo6.test: Likewise, and make grepping of generated
Makefile.in stricter.
* tests/txinfo7.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Do not add unnecessary stuff
to Makefile.am.
* tests/txinfo9.test: Verify that more targets which are expected
to be generated only once really are. Make grepping less strict,
to avoid exposing too much internal details. More minor changes.
* tests/txinfo16.test: Add trailing `:'. Prefer cat over echo
for appending to configure.in. Updated/fixed heading comments.
* tests/txinfo23.test: Likewise, and extended a little by making
it check that no info file is created in the $(srcdir).
* tests/txinfo24.test: Likewise.
* tests/txinfo25.test: Likewise.
* tests/txinfo18.test: Add trailing `:'. Prefer cat over echo
for appending to configure.in. Also, check that index files are
cleaned also by "make clean", not only by "make distclean".
* tests/txinfo22.test: Prefer `$me' over hard-coded test name,
and added trailing `:' command. This testcase also used to check
that automake ignores in-line comments when using variables, but
preserves them in the output; these checks (added in commit
"Release-1-7f-4-g9177ef8") do not really pertain to this test,
so they have been moved ...
* tests/comments-in-var-defn.test: ... into this new test.
* tests/txinfo4.test: Escape literal dots in grep regexps. Add
trailing `:' command.
* tests/txinfo29.test: Likewise. Relax grepping of generated
Makefile.in w.r.t. whitespaces. Prefer `cat' over `echo' to
append to configure.in.
* tests/txinfo3.test: Likewise.
* tests/vtexi.test: Improve grepping of Makefile.in (sometimes
make it stricter, sometimes laxer). Move `set -e' setting just
after the inclusion of ./defs. De-uglify a sed command. Other
minor cosmetic improvements.
* tests/vtexi2.test: Make grepping of Makefile.in stricter. Add
trailing `:' command.
* tests/vtexi3.test: New test on version.texi support.
* tests/vtexi4.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
Diffstat (limited to 'tests/vtexi4.test')
-rwxr-xr-x | tests/vtexi4.test | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/tests/vtexi4.test b/tests/vtexi4.test new file mode 100755 index 000000000..3c8ab4103 --- /dev/null +++ b/tests/vtexi4.test @@ -0,0 +1,118 @@ +#! /bin/sh +# Copyright (C) 2011 Free Software Foundation, Inc. +# +# This program 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 2, or (at your option) +# any later version. +# +# This program 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/>. + +# Check that the version.texi file is automatically created and distributed +# if @included into a texi source. Also check that is correctly defined +# @values definitions it is advertised to. +# See also the related test `vtexi3.test', which does similar checks, but +# for more vers*.texi files, and does not require makeinfo, tex and +# texi2dvi. + +required='makeinfo tex texi2dvi-o' +. ./defs || Exit 1 + +set -e + +case `LC_ALL=C date '+%u'` in + [1-7]) date_is_posix=:;; + *) date_is_posx=false;; +esac +$date_is_posix \ + && day=`LC_ALL=C date '+%d'` && test -n "$day" \ + && month=`LC_ALL=C date '+%B'` && test -n "$month" \ + && year=`LC_ALL=C date '+%Y'`&& test -n "$year" \ + || { echo "$me: 'date' is not POSIX-compliant enough"; Exit 77; } +day=`echo "$day" | sed 's/^0//'` + +# This test requires a grep program that can work on non-text input. +(echo 'x' | grep x) || { + echo "$me: grep doesn't work on input that is not pure text" >&2 + Exit 77 +} + +cat > configure.in << END +AC_INIT([$me], [123.456]) +AM_INIT_AUTOMAKE +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +END + +cat > defs.am <<END +my_date_rx = $day $month $year +my_month_rx = $month $year +my_version_rx = 123\.456 +END + +cat > Makefile.am << 'END' +include defs.am +info_TEXINFOS = foo.texi +test-grepinfo: +## Not useless uses of cat: we only tested that grep worked on +## non-text input when that's given from a pipe. + cat $(srcdir)/foo.info | grep 'GREPVERSION=$(my_version_rx)=' + cat $(srcdir)/foo.info | grep 'GREPEDITION=$(my_version_rx)=' + cat $(srcdir)/foo.info | grep 'GREPDATE=$(my_date_rx)=' + cat $(srcdir)/foo.info | grep 'GREPMONTH=$(my_month_rx)=' +test-distfiles: + @echo DISTFILES = $(DISTFILES) + echo ' ' $(DISTFILES) ' ' | grep '[ /]version.texi ' +test-distdir: distdir + ls -l $(distdir) + diff $(srcdir)/version.texi $(distdir)/version.texi +.PHONY: test-grepinfo test-distfiles test-distdir +check-local: test-grepinfo test-distfiles test-distdir +END + +cat > foo.texi << 'END' +\input texinfo +@c %**start of header +@setfilename foo.info +@settitle Zardoz +@c %**end of header + +@node Top +@include version.texi + +GREPVERSION=@value{VERSION}= + +GREPEDITION=@value{EDITION}= + +GREPDATE=@value{UPDATED}= + +GREPMONTH=@value{UPDATED-MONTH}= + +@bye +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE -a + +./configure +$MAKE all dvi + +# debugging & sanity checks +ls -l +cat version.texi +cat foo.info +test -f foo.dvi + +$MAKE test-grepinfo +$MAKE test-distfiles +$MAKE test-distdir +$MAKE distcheck + +: |