Commit 3fb29a75 authored by Namhyung Kim's avatar Namhyung Kim
Browse files

perf test: Skip perf probe tests when running as non-root



perf trace requires root because it needs to use [ku]probes.
Skip those test when it's not run as root.

Before:
  $ perf test probe
   47: Probe SDT events                                                : Ok
  104: test perf probe of function from different CU                   : FAILED!
  115: perftool-testsuite_probe                                        : FAILED!
  117: Add vfs_getname probe to get syscall args filenames             : FAILED!
  118: probe libc's inet_pton & backtrace it with ping                 : FAILED!
  119: Use vfs_getname probe to get syscall args filenames             : FAILED!

After:
  $ perf test probe
   47: Probe SDT events                                                : Ok
  104: test perf probe of function from different CU                   : Skip
  115: perftool-testsuite_probe                                        : Skip
  117: Add vfs_getname probe to get syscall args filenames             : Skip
  118: probe libc's inet_pton & backtrace it with ping                 : Skip
  119: Use vfs_getname probe to get syscall args filenames             : Skip

Tested-by: default avatarThomas Falcon <thomas.falcon@intel.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20250304022837.1877845-3-namhyung@kernel.org


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent 45a86d01
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
# perftool-testsuite_probe (exclusive)
# SPDX-License-Identifier: GPL-2.0

[ "$(id -u)" = 0 ] || exit 2
test -d "$(dirname "$0")/base_probe" || exit 2
cd "$(dirname "$0")/base_probe" || exit 2
status=0
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
. "$(dirname $0)"/lib/probe.sh

skip_if_no_perf_probe || exit 2
[ "$(id -u)" = 0 ] || exit 2

# shellcheck source=lib/probe_vfs_getname.sh
. "$(dirname $0)"/lib/probe_vfs_getname.sh
+1 −0
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@ delete_libc_inet_pton_event() {

# Check for IPv6 interface existence
ip a sh lo | grep -F -q inet6 || exit 2
[ "$(id -u)" = 0 ] || exit 2

skip_if_no_perf_probe && \
add_libc_inet_pton_event && \
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
. "$(dirname "$0")/lib/probe.sh"

skip_if_no_perf_probe || exit 2
[ "$(id -u)" = 0 ] || exit 2

# shellcheck source=lib/probe_vfs_getname.sh
. "$(dirname "$0")/lib/probe_vfs_getname.sh"
+5 −6
Original line number Diff line number Diff line
@@ -4,12 +4,11 @@

set -e

# Skip if there's no probe command.
if ! perf | grep probe
then
        echo "Skip: probe command isn't present"
        exit 2
fi
# shellcheck source=lib/probe.sh
. "$(dirname $0)"/lib/probe.sh

skip_if_no_perf_probe || exit 2
[ "$(id -u)" == 0 ] || exit 2

# skip if there's no gcc
if ! [ -x "$(command -v gcc)" ]; then