mirror of
https://github.com/systemd/systemd.git
synced 2024-12-01 06:13:38 +08:00
cdfa3f0c76
Don't try to use <<<. It seems to not work properly with old bash versions or something.
30 lines
765 B
Bash
Executable File
30 lines
765 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
export SYSTEMD_LOG_LEVEL=info
|
|
|
|
# output width
|
|
if "$1" --help | grep -v 'default:' | grep -E -q '.{80}.'; then
|
|
echo "$(basename "$1") --help output is too wide:"
|
|
"$1" --help | awk 'length > 80' | grep -E --color=yes '.{80}'
|
|
exit 1
|
|
fi
|
|
|
|
# --help prints something. Also catches case where args are ignored.
|
|
if ! "$1" --help | grep -q .; then
|
|
echo "$(basename "$1") --help output is empty."
|
|
exit 2
|
|
fi
|
|
|
|
# no --help output to stdout
|
|
if "$1" --help 2>&1 1>/dev/null | grep .; then
|
|
echo "$(basename "$1") --help prints to stderr"
|
|
exit 3
|
|
fi
|
|
|
|
# error output to stderr
|
|
if ! "$1" --no-such-parameter 2>&1 1>/dev/null | grep -q .; then
|
|
echo "$(basename "$1") with an unknown parameter does not print to stderr"
|
|
exit 4
|
|
fi
|