Commit 72d81e10 authored by Namhyung Kim's avatar Namhyung Kim
Browse files

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: d66763fe ("perf test trace_btf_enum: Add regression test for the BTF augmentation of enums in 'perf trace'")
Reviewed-by: default avatarHoward Chu <howardchu95@gmail.com>
Link: https://lore.kernel.org/r/20250128170629.1251574-1-namhyung@kernel.org


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent c7b87ce0
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -26,8 +26,12 @@ check_vmlinux() {
trace_landlock() {
  echo "Tracing syscall ${syscall}"

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

  if perf trace -e $syscall $TESTPROG 2>&1 | \
     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.*"