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

[PATCH 1/2] Add manpage syntax checker to 'check' target

From: Mikhail Gusarov <dottedmag_at_dottedmag.net>
Date: Sat, 10 Sep 2011 15:57:12 +0200

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