]> diplodocus.org Git - nmh/blob - test/manpages/test-manpages
groff -man silence the test-manpages warnings. One more try: -Wel.
[nmh] / test / manpages / test-manpages
1 #!/bin/sh
2 ######################################################
3 #
4 # Test that the manpages don't have any syntax errors
5 # as detected by groff.
6 #
7 ######################################################
8
9 if test -z "${MH_OBJ_DIR}"; then
10 srcdir=`dirname "$0"`/../..
11 MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
12 fi
13
14 . "$MH_OBJ_DIR/test/common.sh"
15
16 setup_test
17
18 require_prog groff
19
20 cd ${MH_INST_DIR}${mandir} || exit 1
21
22 # groff will still exit with status zero even if warnings
23 # were emitted, so we have to jump through hoops to
24 # find out if any were emitted.
25
26 expected=$MH_TEST_DIR/$$.expected
27 actual=$MH_TEST_DIR/$$.actual
28
29 # There aren't any expected warnings at the moment but
30 # this mechanism does let us add them if necessary later.
31 rm -f "$expected" "$actual"
32 touch "$expected" "$actual"
33
34 #### If the prefix is too long, groff will report that it can't break
35 #### the `aliasfiles' line in ali.1.
36 length=`echo $prefix | awk '{print length($0)}'`
37 [ $length -gt 35 ] && suppress_break_warning=-Wbreak
38
39 #### OpenBSD's mandoc spits out a lot of warnings.
40 case `uname -s` in
41 OpenBSD) warnings="-ww -Wel $suppress_break_warning" ;;
42 *) warnings="-ww $suppress_break_warning" ;;
43 esac
44
45 for manpage in man?/*.?; do
46 groff -Tutf8 -mandoc $warnings "$manpage" >/dev/null 2>>"$actual"
47 done
48
49 check "$expected" "$actual"
50
51 exit $failed