check_requires() compares requirement strings that can contain shell
pattern characters such as '[' and ']'. Under /bin/sh, the unquoted
test expressions can emit 'unexpected operator' warnings while parsing
README-backed requirements.
Quote the relevant comparisons and path checks so the helper handles
those patterns without spurious shell warnings.
Validated by rerunning fprobe_syntax_errors.tc and confirming the
previous '/bin/sh: unexpected operator' lines disappear from the
detailed ftracetest log.
Signed-off-by: Cao Ruichuang <create0818@163.com>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Link: https://lore.kernel.org/r/20260408043212.8063-1-create0818@163.com
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
p=${i%:program}
r=${i%:README}
t=${i%:tracer}
- if [ $p != $i ]; then
- if ! which $p ; then
+ if [ "$p" != "$i" ]; then
+ if ! which "$p" ; then
echo "Required program $p is not found."
exit_unresolved
fi
- elif [ $t != $i ]; then
- if ! grep -wq $t available_tracers ; then
+ elif [ "$t" != "$i" ]; then
+ if ! grep -wq "$t" available_tracers ; then
echo "Required tracer $t is not configured."
exit_unsupported
fi
else
test=$TRACING_DIR
fi
- if ! grep -Fq "$r" $test/README ; then
+ if ! grep -Fq "$r" "$test"/README ; then
echo "Required feature pattern \"$r\" is not in README."
exit_unsupported
fi
- elif [ ! -e $i ]; then
+ elif [ ! -e "$i" ]; then
echo "Required feature interface $i doesn't exist."
exit_unsupported
fi
local opts=$(mount | grep -m1 "$mnt_point" | sed -e 's/.*(\(.*\)).*/\1/')
echo "$opts"
-}
\ No newline at end of file
+}