xfs/293: make test more robust
authorEric Sandeen <sandeen@redhat.com>
Thu, 20 Apr 2017 15:30:36 +0000 (10:30 -0500)
committerEryu Guan <eguan@redhat.com>
Fri, 21 Apr 2017 03:15:02 +0000 (11:15 +0800)
xfs/293 is supposed to make sure every command in xfs_io
is documented, but it was missing the inode command because
it's a common word, and depending on how man formatted the
page, the magic "   inode" string could show up and appear
to indicate that documentation is present for the command
when it's not actually there.

Change the test to inspect the manpage source directly, with
the assumption that each documented command will start
with ^\.B.*$COMMAND on a manpage line.

This handles a few different compressed manpage formats -
I don't know if anybody uses bz2 or xz, but hey.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/xfs/293

index ade6015481cf0b39864e2f7abf2c92d3de183a77..df44e98e74e8ef74e4faa66b93dc0854d1f07512 100755 (executable)
@@ -48,8 +48,19 @@ _supported_os IRIX Linux
 
 echo "Silence is golden"
 
+MANPAGE=`man --path xfs_io`
+
+case "$MANPAGE" in
+*.gz|*.z\|*.Z) CAT=zcat;;
+*.bz2)         CAT=bzcat;;
+*.xz)          CAT=xzcat;;
+*)             CAT=cat;;
+esac
+
+_require_command `which $CAT` $CAT
+
 for COMMAND in `$XFS_IO_PROG -c help | awk '{print $1}' | grep -v "^Use"`; do
-  man xfs_io | col -b | grep -wq "   $COMMAND" || \
+  $CAT `man --path xfs_io` | egrep -q "^\.B.*$COMMAND" || \
        echo "$COMMAND not documented in the xfs_io manpage"
 done