mirror of
https://github.com/systemd/systemd.git
synced 2024-12-04 07:43:38 +08:00
07b3a02643
These tests check the stderr. So, if the systemd.log_level=debug is set in the kernel command line, then these tests fail. This set log_level to info in hwdb-test.sh and meson-check-help.sh, the kernel command line not to change the output of the target programs. Fixes #7362.
23 lines
617 B
Bash
Executable File
23 lines
617 B
Bash
Executable File
#!/bin/sh -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
|
|
|
|
# no --help output to stdout
|
|
if "$1" --help 2>&1 1>/dev/null | grep .; then
|
|
echo "$(basename "$1") --help prints to stderr"
|
|
exit 2
|
|
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 3
|
|
fi
|