#!/bin/sh ###################################################### # # Test that the manpages don't have any syntax errors # as detected by groff. # ###################################################### if test -z "${MH_OBJ_DIR}"; then srcdir=`dirname "$0"`/../.. MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR fi . "$MH_OBJ_DIR/test/common.sh" setup_test require_prog groff cd ${MH_INST_DIR}${mandir} || exit 1 # groff will exit with zero status even if warnings # were emitted, so we have to jump through hoops to # find out if any were emitted. expected=$MH_TEST_DIR/$$.expected actual=$MH_TEST_DIR/$$.actual # There aren't any expected warnings at the moment but # this mechanism does let us add them if necessary later. rm -f "$expected" "$actual" touch "$expected" "$actual" warnings="-ww" #### If the prefix is too long, groff will report that it can't break #### the `aliasfiles' line in ali.1. length=`echo $prefix | awk '{print length($0)}'` [ $length -gt 35 ] && warnings="${warnings} -Wbreak" #### OpenBSD's mandoc spits out a lot of "unbalance .el request" warnings; #### -Wel suppresses them. groff -Tutf8 -mandoc -ww man1/ali.1 >/dev/null 2>>"$actual" if grep warning "$actual" >/dev/null; then warnings="$warnings -Wel" fi rm -f "$actual" touch "$actual" for manpage in man?/*.?; do groff -Tutf8 -mandoc $warnings "$manpage" >/dev/null 2>>"$actual" done check "$expected" "$actual" exit $failed