[PATCH v2] perf test: Skip syscall enum test if no landlock syscall

Namhyung Kim posted 1 patch 10 months, 3 weeks ago
tools/perf/tests/shell/trace_btf_enum.sh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
[PATCH v2] perf test: Skip syscall enum test if no landlock syscall
Posted by Namhyung Kim 10 months, 3 weeks ago
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: d66763fed30f0bd8c ("perf test trace_btf_enum: Add regression test for the BTF augmentation of enums in 'perf trace'")
Reviewed-by: Howard Chu <howardchu95@gmail.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
v2) update comments according to Howard

 tools/perf/tests/shell/trace_btf_enum.sh | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/perf/tests/shell/trace_btf_enum.sh b/tools/perf/tests/shell/trace_btf_enum.sh
index 5a3b8a5a9b5cf296..8d1e6bbeac906843 100755
--- a/tools/perf/tests/shell/trace_btf_enum.sh
+++ b/tools/perf/tests/shell/trace_btf_enum.sh
@@ -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.*"
-- 
2.48.1.262.g85cc9f2d1e-goog
Re: [PATCH v2] perf test: Skip syscall enum test if no landlock syscall
Posted by Namhyung Kim 10 months, 3 weeks ago
On Tue, 28 Jan 2025 09:06:29 -0800, Namhyung Kim wrote:
> 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.
> 
> [...]
Applied to perf-tools, thanks!

Best regards,
Namhyung