mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] perf test: Fix perf probe testsuite
@ 2026-11-05  7:17 Namhyung Kim
  2026-11-05 15:08 ` James Clark
  0 siblings, 1 reply; 3+ messages in thread
From: Namhyung Kim @ 2026-11-05  7:17 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Ian Rogers, James Clark
  Cc: Jiri Olsa, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
	linux-perf-users, Jakub Brnak, Michael Petlan

The perf probe test suite fails on my machine.  It seems it's because
the kernel debug info is not available.  Actually NO_DEBUGINFO is to
check the condition and skip affected tests.

But it didn't work well as the skip_if_no_debuginfo function misses a
new error string for v7.0+ kernels.  Internally it uses the
add_probe_vfs_getname() to check if perf probe handles debuginfo and
check the error string.  But it didn't add the new error string.

  "Could not find probeable line"

With that added, it now passes like below:

  $ sudo perf test -vv 189
  Not taking turns using the perf mlock budget: nothing can exhaust it
  189: perftool-testsuite_probe:
  ---- start ----
  test child forked, pid 26135
  Probing warn_thunk_thunk
  -- [ PASS ] -- perf_probe :: test_adding_blacklisted :: adding blacklisted function warn_thunk_thunk
  -- [ PASS ] -- perf_probe :: test_adding_blacklisted :: listing blacklisted probe (should NOT be listed)
  ## [ PASS ] ## perf_probe :: test_adding_blacklisted SUMMARY
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: adding probe inode_permission ::
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: adding probe inode_permission :: -a
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: adding probe inode_permission :: --add
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: listing added probe :: perf list
  -- [ SKIP ] -- perf_probe :: test_adding_kernel :: 1 1 Skipped due to missing debuginfo :: testcase skipped
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: using added probe
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: deleting added probe
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: listing removed probe (should NOT be listed)
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: dry run :: adding probe
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: force-adding probes :: first probe adding
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: force-adding probes :: second probe adding (without force)
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: force-adding probes :: second probe adding (with force)
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: using doubled probe
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: removing multiple probes
  Regexp not found: "probe:vfs_mknod"
  Regexp not found: "probe:vfs_create"
  Regexp not found: "probe:vfs_rmdir"
  Regexp not found: "probe:vfs_link"
  Regexp not found: "probe:vfs_write"
  -- [ SKIP ] -- perf_probe :: test_adding_kernel :: 1 1 Skipped due to missing debuginfo :: testcase skipped
  Regexp not found: "somenonexistingrandomstuffwhichisalsoprettylongorevenlongertoexceed64"
  Regexp not found: "in this function|at this address"
  -- [ SKIP ] -- perf_probe :: test_adding_kernel :: 1 1 Skipped due to missing debuginfo :: testcase skipped
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: function with retval :: add
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: function with retval :: record
  -- [ PASS ] -- perf_probe :: test_adding_kernel :: function argument probing :: script
  ## [ PASS ] ## perf_probe :: test_adding_kernel SUMMARY
  -- [ SKIP ] -- perf_probe :: test_basic :: help message :: testcase skipped
  -- [ PASS ] -- perf_probe :: test_basic :: usage message
  -- [ PASS ] -- perf_probe :: test_basic :: quiet switch
  ## [ PASS ] ## perf_probe :: test_basic SUMMARY
  -- [ PASS ] -- perf_probe :: test_invalid_options :: missing argument for -a
  -- [ PASS ] -- perf_probe :: test_invalid_options :: missing argument for -d
  -- [ PASS ] -- perf_probe :: test_invalid_options :: missing argument for -L
  -- [ PASS ] -- perf_probe :: test_invalid_options :: missing argument for -V
  -- [ PASS ] -- perf_probe :: test_invalid_options :: unnecessary argument for -F
  -- [ PASS ] -- perf_probe :: test_invalid_options :: unnecessary argument for -l
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -a xxx -d xxx
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -a xxx -L foo
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -a xxx -V foo
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -a xxx -l
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -a xxx -F
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -d xxx -L foo
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -d xxx -V foo
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -d xxx -l
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -d xxx -F
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -L foo -V bar
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -L foo -l
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -L foo -F
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -V foo -l
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -V foo -F
  -- [ PASS ] -- perf_probe :: test_invalid_options :: mutually exclusive options :: -l -F
  ## [ PASS ] ## perf_probe :: test_invalid_options SUMMARY
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: func
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: func:10
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: func:0-10
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: func:2+10
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: func@source.c
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: func@source.c:1
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: source.c:1
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: source.c:1+1
  -- [ PASS ] -- perf_probe :: test_line_semantics :: acceptable descriptions :: source.c:1-10
  -- [ PASS ] -- perf_probe :: test_line_semantics :: unacceptable descriptions :: func:foo
  -- [ PASS ] -- perf_probe :: test_line_semantics :: unacceptable descriptions :: func:1-foo
  -- [ PASS ] -- perf_probe :: test_line_semantics :: unacceptable descriptions :: func:1+foo
  -- [ PASS ] -- perf_probe :: test_line_semantics :: unacceptable descriptions :: func;lazy\*pattern
  ## [ PASS ] ## perf_probe :: test_line_semantics SUMMARY
  ---- end(0) ----
  189: perftool-testsuite_probe                                                          : Ok

Fixes: 92b664dcefab ("perf test probe_vfs_getname: Skip if no suitable line detected")
Cc: Jakub Brnak <jbrnak@redhat.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/tests/shell/lib/probe_vfs_getname.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/tests/shell/lib/probe_vfs_getname.sh b/tools/perf/tests/shell/lib/probe_vfs_getname.sh
index 57a59ae7d4ae3d71..c091cd208beec056 100644
--- a/tools/perf/tests/shell/lib/probe_vfs_getname.sh
+++ b/tools/perf/tests/shell/lib/probe_vfs_getname.sh
@@ -64,7 +64,7 @@ add_probe_vfs_getname() {
 }
 
 skip_if_no_debuginfo() {
-	add_probe_vfs_getname -v 2>&1 | grep -E -q "^(Failed to find the path for the kernel|Debuginfo-analysis is not supported)|(file has no debug information)" && return 2
+	add_probe_vfs_getname -v 2>&1 | grep -E -q "^(Failed to find the path for the kernel|Debuginfo-analysis is not supported)|(file has no debug information|Could not find probeable line)" && return 2
 	return 1
 }
 
-- 
2.56.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-11-05 15:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-05  7:17 [PATCH] perf test: Fix perf probe testsuite Namhyung Kim
2026-11-05 15:08 ` James Clark
2026-11-05 15:56   ` James Clark

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®