Commit a3a02a52 authored by Veronika Molnarova's avatar Veronika Molnarova Committed by Arnaldo Carvalho de Melo

perf testsuite: Merge settings files for shell tests

Merge perf testsuite setting files into common settings to reduce
duplicates and prevent errors.
Signed-off-by: default avatarMichael Petlan <mpetlan@redhat.com>
Signed-off-by: default avatarVeronika Molnarova <vmolnaro@redhat.com>
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240702110849.31904-4-vmolnaro@redhat.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 5a02447c
# SPDX-License-Identifier: GPL-2.0
#
# settings.sh of perf_probe test
# Author: Michael Petlan <mpetlan@redhat.com>
# Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
#
export TEST_NAME="perf_probe"
export MY_ARCH=`arch`
if [ -n "$PERFSUITE_RUN_DIR" ]; then
# when $PERFSUITE_RUN_DIR is set to something, all the logs and temp files will be placed there
# --> the $PERFSUITE_RUN_DIR/perf_something/examples and $PERFSUITE_RUN_DIR/perf_something/logs
# dirs will be used for that
export PERFSUITE_RUN_DIR=`readlink -f $PERFSUITE_RUN_DIR`
export CURRENT_TEST_DIR="$PERFSUITE_RUN_DIR/$TEST_NAME"
export MAKE_TARGET_DIR="$CURRENT_TEST_DIR/examples"
test -d "$MAKE_TARGET_DIR" || mkdir -p "$MAKE_TARGET_DIR"
export LOGS_DIR="$PERFSUITE_RUN_DIR/$TEST_NAME/logs"
test -d "$LOGS_DIR" || mkdir -p "$LOGS_DIR"
else
# when $PERFSUITE_RUN_DIR is not set, logs will be placed here
export CURRENT_TEST_DIR="."
export LOGS_DIR="."
fi
check_kprobes_available()
{
test -e /sys/kernel/debug/tracing/kprobe_events
}
check_uprobes_available()
{
test -e /sys/kernel/debug/tracing/uprobe_events
}
clear_all_probes()
{
echo 0 > /sys/kernel/debug/tracing/events/enable
check_kprobes_available && echo > /sys/kernel/debug/tracing/kprobe_events
check_uprobes_available && echo > /sys/kernel/debug/tracing/uprobe_events
}
check_sdt_support()
{
$CMD_PERF list sdt | grep sdt > /dev/null 2> /dev/null
}
......@@ -15,10 +15,7 @@
# include working environment
. ../common/init.sh
. ./settings.sh
# shellcheck disable=SC2034 # the variable is later used after the working environment is included
THIS_TEST_NAME=`basename $0 .sh`
TEST_RESULT=0
# shellcheck source=lib/probe_vfs_getname.sh
......
......@@ -115,3 +115,26 @@ detect_amd()
# 1 = is not AMD or unknown
grep "vendor_id" < /proc/cpuinfo | grep -q "AMD"
}
# base probe utility
check_kprobes_available()
{
test -e /sys/kernel/debug/tracing/kprobe_events
}
check_uprobes_available()
{
test -e /sys/kernel/debug/tracing/uprobe_events
}
clear_all_probes()
{
echo 0 > /sys/kernel/debug/tracing/events/enable
check_kprobes_available && echo > /sys/kernel/debug/tracing/kprobe_events
check_uprobes_available && echo > /sys/kernel/debug/tracing/uprobe_events
}
check_sdt_support()
{
$CMD_PERF list sdt | grep sdt > /dev/null 2> /dev/null
}
......@@ -65,6 +65,29 @@ else
export MEND=""
fi
### general info
DIR_PATH=`dirname "$(readlink -e "$0")"`
export TEST_NAME=`basename $DIR_PATH | sed 's/base/perf/'`
export MY_ARCH=`arch`
# storing logs and temporary files variables
if [ -n "$PERFSUITE_RUN_DIR" ]; then
# when $PERFSUITE_RUN_DIR is set to something, all the logs and temp files will be placed there
# --> the $PERFSUITE_RUN_DIR/perf_something/examples and $PERFSUITE_RUN_DIR/perf_something/logs
# dirs will be used for that
export PERFSUITE_RUN_DIR=`readlink -f $PERFSUITE_RUN_DIR`
export CURRENT_TEST_DIR="$PERFSUITE_RUN_DIR/$TEST_NAME"
export MAKE_TARGET_DIR="$CURRENT_TEST_DIR/examples"
export LOGS_DIR="$CURRENT_TEST_DIR/logs"
test -d "$CURRENT_TEST_DIR" || mkdir -p "$CURRENT_TEST_DIR"
test -d "$LOGS_DIR" || mkdir -p "$LOGS_DIR"
else
# when $PERFSUITE_RUN_DIR is not set, logs will be placed here
export CURRENT_TEST_DIR="."
export LOGS_DIR="."
fi
#### test parametrization
if [ ! -d ./common ]; then
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment