• Athira Rajeev's avatar
    perf tests shell: Fix check for libtracevent support · 766b0bee
    Athira Rajeev authored
    Test “Use vfs_getname probe to get syscall args filenames” fails in
    environment with missing libtraceevent support as below:
    
      82: Use vfs_getname probe to get syscall args filenames             :
      --- start ---
      test child forked, pid 304726
      Recording open file:
      event syntax error: 'probe:vfs_getname*'
                           \___ unsupported tracepoint
    
      libtraceevent is necessary for tracepoint support
      Run 'perf list' for a list of valid events
    
       Usage: perf record [<options>] [<command>]
          or: perf record [<options>] -- <command> [<options>]
    
          -e, --event <event>   event selector. use 'perf list' to list available events
      test child finished with -1
      ---- end ----
      Use vfs_getname probe to get syscall args filenames: FAILED!
    
    The environment has debuginfo but is missing the libtraceevent devel.
    
    Hence perf is compiled without libtraceevent support.  The test tries to
    add probe “probe:vfs_getname” and then uses it with “perf record”.  This
    fails at function “parse_events_add_tracepoint" due to missing
    libtraceevent.
    
    Similarly "probe libc's inet_pton & backtrace it with ping" test slso
    fails with same reason.
    
    Add a function in 'perf test shell' library to check if perf record with
    —dry-run reports any error on missing support for libtraceevent. Update
    both the tests to use this new function “skip_no_probe_record_support”
    before proceeding With using probe point via perf builtin record.
    
    With the change,
    
      82: Use vfs_getname probe to get syscall args filenames             :
      --- start ---
      test child forked, pid 305014
      Recording open file:
      libtraceevent is necessary for tracepoint support
      test child finished with -2
      ---- end ----
      Use vfs_getname probe to get syscall args filenames: Skip
    
       81: probe libc's inet_pton & backtrace it with ping                 :
      --- start ---
      test child forked, pid 305036
      libtraceevent is necessary for tracepoint support
      test child finished with -2
      ---- end ----
      probe libc's inet_pton & backtrace it with ping: Skip
    Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Disha Goel <disgoel@linux.ibm.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Nageswara R Sastry <rnsastry@linux.ibm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: kjain@linux.ibm.com,
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lore.kernel.org/r/20230201180421.59640-2-atrajeev@linux.vnet.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    766b0bee
probe_vfs_getname.sh 1.07 KB