Rearranged test suite environment variables so that individual tests
[mmh] / 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 for manpage in man?/*.?; do
35   groff -Tutf8 -mandoc -wmac "$manpage" > /dev/null 2>>"$actual"
36 done
37
38 diff -u "$expected" "$actual"