chiark / gitweb /
test suite: manpages-format: Cope with buster & eatmydata
[dgit.git] / tests / tests / manpages-format
index 79eda7529dbc519df7d77f7c1d031b84b1497576..2649a313490d22a1aa941c262e0a68742c983576 100755 (executable)
@@ -3,33 +3,37 @@ set -e
 autoimport=
 . tests/lib
 
-t-dependencies man-db make groff git-debrebase
+t-dependencies man-db make groff git-debrebase git-debpush
 
 cd $root
 
-printenv |grep MAKE ||: |sort
+printenv |grep MAKE ||: |t-sort
 manpages=$(MAKEFLAGS= MAKELEVEL= make list-manpages)
 
 export MANWIDTH=80
 
 run_man () {
        if [ "x${DGIT_MANPAGES_SOURCE_DIR}" = x ]; then
-               cmd='man "$@" $section $page'
+               cmd='man --warnings "$@" $section $page'
        else
                make $roff >&2
-               cmd='man "$@" -l $roff'
+               cmd='man --warnings "$@" -l $roff'
        fi
-       eval "$cmd 2>&1 >/dev/null |tee $errs >&2"
+       eval "$cmd 2>&1 >/dev/null |tee $errs"
 }
 
+cat >$tmp/always-expected <<'END'
+ERROR.*
+END
+
 for roff in $manpages; do
-       for fmt in txt; do
-               >$tmp/$roff.$fmt-expected
+       for fmt in txt ps; do
+               cat $tmp/always-expected >$tmp/$roff.$fmt-expected
        done
 done
 
 expected () {
-       cat >$tmp/$2.$1-expected
+       cat >>$tmp/$2.$1-expected
 }
 
 not_egrep_vxPf () {
@@ -37,12 +41,14 @@ not_egrep_vxPf () {
        perl -ne '
                BEGIN () {
                        open PATS, shift @ARGV or die $!;
-                       $re = join "|", map { chomp; qr{^(?:$_)$} } <PATS>;
+                       $re = join "|", map { chomp; qr{^(?:$_)$} }
+                               qr{^(?=a)b}, <PATS>;
+                       print STDERR "RE $re\n";
                }
                next if m{$re};
                print STDERR "unexpected: $_";
                $bad = 1;
-               END { die "unexpected, re= $re\n" if $bad; }
+               END { die "unexpected errors\n" if $bad; }
        ' "$@"
 }
 
@@ -65,7 +71,11 @@ for roff in $manpages; do
        page=${roff%.*}
 
        prep txt
-       run_man >/dev/null
+       run_man
+       check
+
+       prep ps
+       run_man -Tps
        check
 done