tools: ignore unsafe commands in checkusage.sh

These commands behave unusual with --unknownopt.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
This commit is contained in:
Ruediger Meier 2017-06-27 08:25:10 +02:00
parent b768ac6b60
commit e8e9267f5d
1 changed files with 9 additions and 7 deletions

View File

@ -21,7 +21,12 @@ cmds=$(echo $@ | tr ' ' '\n' | sort)
## alt_whereis__help="-h" # in past whereis(1) had no longopt for --help
## alt_more__help="x" # more(1) had neither --help nor -h
alt_fsck__unknownopt="-Tunknown" # no title (-T) and pass -unknown to fsck.foo
alt_fsck__unknownopt="x" # fsck passes unknown opts to fsck.ext4, etc.
alt_mkfs__unknownopt="x" # dito
alt_kill__unknownopt="inval pids" # trick, kill does not use errtryhelp()
if [ $(id -ru) -eq 0 ]; then
alt_sulogin__unknownopt="x" # would hang at pwd prompt
fi
function exec_option {
local cmdb=$1
@ -39,8 +44,8 @@ function exec_option {
opt=$alt
fi
out=$("$cmd" "$opt" 2>/dev/null)
err=$("$cmd" "$opt" 2>&1 >/dev/null)
out=$("$cmd" $opt 2>/dev/null)
err=$("$cmd" $opt 2>&1 >/dev/null)
ret=$?
# hardcoded ... nologin should always return false
@ -118,10 +123,7 @@ function check_unknownopt {
out_len=$(echo "$out" | wc -l)
err_len=$(echo "$err" | wc -l)
if test "$err_len" -gt 2; then
# hardcoded ignore ... mkfs sends options to mkfs.ext2
if test "$cb" != "mkfs" -a "$cb" != "fsck"; then
echo "$cb: $opt, stderr too long: $err_len"
fi
echo "$cb: $opt, stderr too long: $err_len"
elif test "$err_len" -lt 2; then
echo "$cb: $opt, stderr too short: $err_len"
fi