Skip to content

Commit 72d81e1

Browse files
committed
perf test: Skip syscall enum test if no landlock syscall
The perf trace enum augmentation test specifically targets landlock_ add_rule syscall but IIUC it's an optional and can be opt-out by a kernel config. Currently trace_landlock() runs `perf test -w landlock` before the actual testing to check the availability but it's not enough since the workload always returns 0. Instead it could check if perf trace output has 'landlock' string. Fixes: d66763f ("perf test trace_btf_enum: Add regression test for the BTF augmentation of enums in 'perf trace'") Reviewed-by: Howard Chu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Namhyung Kim <[email protected]>
1 parent c7b87ce commit 72d81e1

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

tools/perf/tests/shell/trace_btf_enum.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,12 @@ check_vmlinux() {
2626
trace_landlock() {
2727
echo "Tracing syscall ${syscall}"
2828

29-
# test flight just to see if landlock_add_rule and libbpf are available
30-
$TESTPROG
29+
# test flight just to see if landlock_add_rule is available
30+
if ! perf trace $TESTPROG 2>&1 | grep -q landlock
31+
then
32+
echo "No landlock system call found, skipping to non-syscall tracing."
33+
return
34+
fi
3135

3236
if perf trace -e $syscall $TESTPROG 2>&1 | \
3337
grep -q -E ".*landlock_add_rule\(ruleset_fd: 11, rule_type: (LANDLOCK_RULE_PATH_BENEATH|LANDLOCK_RULE_NET_PORT), rule_attr: 0x[a-f0-9]+, flags: 45\) = -1.*"

0 commit comments

Comments
 (0)