Subject: [PATCH] Add manpage syntax checker to 'check' target

[PATCH] Add manpage syntax checker to 'check' target

From: Mikhail Gusarov <dottedmag_at_dottedmag.net>
Date: Tue, 6 Sep 2011 15:11:18 +0200

In virtually every libssh2 release Debian's lintian catches syntax errors in
manpages. Prevent it by checking manpages as a part of testsuite.

---
 tests/Makefile.am  |    4 ++--
 tests/mansyntax.sh |   28 ++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 2 deletions(-)
 create mode 100644 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 100644
index 0000000..7801472
--- /dev/null
+++ b/tests/mansyntax.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+set -e
+
+# Written by Mikhail Gusarov
+#
+# Run syntax checks for all manpages in the documentation tree.
+#
+
+srcdir=${srcdir:-$PWD}
+mandir=${srcdir}/../docs
+
+ec=0
+
+trap "rc=$?; rm -f $srcdir/man3; exit $rc" 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-06