Add manpage syntax checker to 'check' target
In virtually every libssh2 release Debian's lintian catches syntax errors in manpages. Prevent it by checking manpages as a part of testsuite.
This commit is contained in:
parent
d2dc600be7
commit
8d3709f57a
@ -7,7 +7,7 @@ ssh2_SOURCES = ssh2.c
|
||||
endif
|
||||
|
||||
ctests = simple$(EXEEXT)
|
||||
TESTS = $(ctests)
|
||||
TESTS = $(ctests) mansyntax.sh
|
||||
if SSHD
|
||||
TESTS += ssh2.sh
|
||||
endif
|
||||
@ -15,5 +15,5 @@ check_PROGRAMS = $(ctests)
|
||||
|
||||
TESTS_ENVIRONMENT = SSHD=$(SSHD) EXEEXT=$(EXEEXT)
|
||||
|
||||
EXTRA_DIST = ssh2.sh
|
||||
EXTRA_DIST = ssh2.sh mansyntax.sh
|
||||
EXTRA_DIST += etc/host etc/host.pub etc/user etc/user.pub
|
||||
|
35
tests/mansyntax.sh
Executable file
35
tests/mansyntax.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Written by Mikhail Gusarov
|
||||
#
|
||||
# Run syntax checks for all manpages in the documentation tree.
|
||||
#
|
||||
|
||||
srcdir=${srcdir:-$PWD}
|
||||
mandir=${srcdir}/../docs
|
||||
|
||||
#
|
||||
# Only test if suitable man is available
|
||||
#
|
||||
if ! man --help | grep -q warnings; then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
ec=0
|
||||
|
||||
trap "rm -f $srcdir/man3" EXIT
|
||||
|
||||
ln -sf "$mandir" "$srcdir/man3"
|
||||
|
||||
for manpage in $mandir/libssh2_*.*; do
|
||||
echo "$manpage"
|
||||
warnings=$(LANG=en_US.UTF-8 MANWIDTH=80 man -M "$srcdir" --warnings \
|
||||
-E UTF-8 -l "$manpage" 2>&1 >/dev/null)
|
||||
if [ -n "$warnings" ]; then
|
||||
echo "$warnings"
|
||||
ec=1
|
||||
fi
|
||||
done
|
||||
|
||||
exit $ec
|
Loading…
x
Reference in New Issue
Block a user