In virtually every libssh2 release Debian's lintian catches syntax errors in
manpages. Prevent it by checking manpages as a part of testsuite.
---
v2: check for supported man(1) options
tests/Makefile.am | 4 ++--
tests/mansyntax.sh | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 2 deletions(-)
create mode 100755 tests/mansyntax.sh
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 16210aa..8ca2efd 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -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
diff --git a/tests/mansyntax.sh b/tests/mansyntax.sh
new file mode 100755
index 0000000..3e72c25
--- /dev/null
+++ b/tests/mansyntax.sh
@@ -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
--
1.7.2.5
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2011-09-10