Skip to content

Commit

Permalink
doc: check-manpage: parallelize
Browse files Browse the repository at this point in the history
40s -> 1.2s
  • Loading branch information
kilobyte committed Feb 14, 2020
1 parent d111121 commit cdcf21f
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 17 deletions.
25 changes: 25 additions & 0 deletions utils/check-manpage
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2019, Intel Corporation

for m in "$@"; do
dir="$(dirname $m)"
file="$(basename $m)"
# system-installed version is preferred otherwise for .so links
[ -n "$dir" ] && pushd "$dir" >/dev/null
err=$(MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z "$file" 2>&1 >/dev/null)
[ -z "$err" ] || {
echo >&2 "$file: $err"
FAILED=1
}

if grep -q '^\.SH NAME' "$file"; then
if ! lexgrog "$file" >/dev/null; then
echo 2>&1 "lexgrog failed on $file"
FAILED=1
fi
fi
popd >/dev/null 2>/dev/null
done

exit $FAILED
19 changes: 2 additions & 17 deletions utils/check-manpages
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,6 @@

MANS="$*"
[ -n "$MANS" ] || MANS="$(find doc -name '*.1' -o -name '*.3' -o -name '*.5' -o -name '*.7')"
[ -n "$MANS" ] || echo >&2 "No man pages given, and none found in doc/"
[ -n "$MANS" ] || { echo >&2 "No man pages given, and none found in doc/"; exit 1;}

for m in $MANS; do
if grep -q '^\.SH NAME' "$m"; then
if ! lexgrog "$m" >/dev/null; then
echo 2>&1 "lexgrog failed on $m"
FAILED=1
fi
fi

err=`MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z "$m" 2>&1 >/dev/null`
[ -z "$err" ] || {
echo "$err" >&2
FAILED=1
}
done

exit $FAILED
echo "$MANS"|xargs -P `nproc` -n1 -- utils/check-manpage

0 comments on commit cdcf21f

Please sign in to comment.