automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI] {master} tests: improve coverage on Texinfo + silent rules


From: Stefano Lattarini
Subject: [FYI] {master} tests: improve coverage on Texinfo + silent rules
Date: Mon, 19 Nov 2012 12:33:04 +0100

* t/silent-texi.sh: Here, by basic importing the version of the
test that is the 'ng/master' branch (that of Automake-NG), plus
a minor tweak to avoid a spurious failure with NetBSD make.

Signed-off-by: Stefano Lattarini <address@hidden>
---
 t/silent-texi.sh | 60 +++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 18 deletions(-)

diff --git a/t/silent-texi.sh b/t/silent-texi.sh
index 2c99560..358d068 100755
--- a/t/silent-texi.sh
+++ b/t/silent-texi.sh
@@ -22,15 +22,21 @@ required='makeinfo tex texi2dvi dvips'
 echo AC_OUTPUT >> configure.ac
 
 cat > Makefile.am <<'EOF'
-info_TEXINFOS = foo.texi
+info_TEXINFOS = foo.texi sub/zardoz.texi
 EOF
 
 cat > foo.texi <<'EOF'
 \input texinfo
address@hidden %**start of header
 @setfilename foo.info
 @settitle foo manual
address@hidden %**end of header
address@hidden
+EOF
+
+mkdir sub
+cat > sub/zardoz.texi <<'EOF'
+\input texinfo
address@hidden zardoz.info
address@hidden zardoz manual
 @bye
 EOF
 
@@ -40,24 +46,42 @@ $AUTOCONF
 
 ./configure --disable-silent-rules
 
-# Make sure that all labels work in silent-mode.
-$MAKE V=0 dvi html info ps pdf >stdout || { cat stdout; exit 1; }
+# Silent mode output.
+st=0
+$MAKE V=0 dvi html info ps pdf >stdout 2>stderr || st=$?
 cat stdout
-grep 'DVIPS    foo.ps' stdout || exit 1
-grep 'MAKEINFO foo.html' stdout || exit 1
+cat stderr >&2
+test $st -eq 0
+grep '^  DVIPS    foo\.ps$'         stdout
+grep '^  MAKEINFO foo\.html$'       stdout
 # NetBSD make will print './foo.info' instead of 'foo.info'.
-grep 'MAKEINFO.*foo.info' stdout || exit 1
-grep 'TEXI2DVI foo.dvi' stdout || exit 1
-grep 'TEXI2PDF foo.pdf' stdout || exit 1
+$EGREP '^  MAKEINFO (|\./)foo\.info$'       stdout
+grep '^  TEXI2DVI foo\.dvi$'        stdout
+grep '^  TEXI2PDF foo\.pdf$'        stdout
+grep '^  DVIPS    sub/zardoz.ps$'   stdout
+grep '^  MAKEINFO sub/zardoz.html$' stdout
+# NetBSD make will print './sub/zardoz.info' instead of 'zardoz.info'.
+$EGREP '^  MAKEINFO (|\./)sub/zardoz.info$' stdout
+grep '^  TEXI2DVI sub/zardoz.dvi$'  stdout
+grep '^  TEXI2PDF sub/zardoz.pdf$'  stdout
+# No make recipe is displayed before being executed.
+$EGREP 'texi2(dvi|pdf)|dvips|makeinfo|(rm|mv) ' \
+  stdout stderr && exit 1
+# No verbose output from TeX nor dvips.
+$EGREP '(zardoz|foo)\.log|3\.14|Copyright|This is|[Oo]utput ' \
+  stdout stderr && exit 1
 
-# Now make sure the labels don't appear in verbose mode.
+# Verbose mode output.
 $MAKE clean || exit 1
-$MAKE V=1 dvi html info ps pdf >stdout || { cat stdout; exit 1; }
-cat stdout
-grep 'DVIPS    foo.ps' stdout && exit 1
-grep 'MAKEINFO foo.html' stdout && exit 1
-grep 'MAKEINFO.*foo.info' stdout && exit 1
-grep 'TEXI2DVI foo.dvi' stdout && exit 1
-grep 'TEXI2PDF foo.pdf' stdout && exit 1
+$MAKE V=1 dvi html info ps pdf >output 2>&1 || { cat output; exit 1; }
+cat output
+$EGREP '(DVIPS|MAKEINFO|TEXI2(PDF|DVI)) ' output && exit 1
+# Verbose output from TeX.
+grep '[Oo]utput .*foo\.pdf' output
+grep '[Oo]utput .*zardoz\.pdf' output
+$FGREP 'foo.log' output
+$FGREP 'zardoz.log' output
+# Verbose output from dvips.
+$FGREP ' dvips' output
 
 :
-- 
1.8.0.150.gb0b00a3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]