1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#!/bin/bash
#
# SPDX-FileCopyrightText: 2021 Francis Deslauriers <francis.deslauriers@efficios.com>
#
# SPDX-License-Identifier: GPL-2.0-only
#
TEST_DESC="Kernel tracer - function event"
CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/../..
NUM_TESTS=9
source $TESTDIR/utils/utils.sh
function test_kernel_function_basic()
{
local TRACE_PATH=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
local SESSION_NAME="kernel_function_basic"
local EVENT_NAME="my_event_name"
local TARGET_SYMBOL="lttng_test_filter_event_write"
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
lttng_enable_kernel_function_event_ok $SESSION_NAME "$TARGET_SYMBOL" "$EVENT_NAME"
start_lttng_tracing_ok
echo 1 > /proc/lttng-test-filter-event
stop_lttng_tracing_ok
validate_trace "${EVENT_NAME}_entry" $TRACE_PATH
validate_trace "${EVENT_NAME}_exit" $TRACE_PATH
destroy_lttng_session_ok $SESSION_NAME
rm -rf $TRACE_PATH
}
# MUST set TESTDIR before calling those functions
plan_tests $NUM_TESTS
print_test_banner "$TEST_DESC"
check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
{
lttng_modules_loaded_fail
start_lttng_sessiond_notap
validate_lttng_modules_present
modprobe lttng-test
test_kernel_function_basic
modprobe --remove lttng-test
stop_lttng_sessiond_notap
lttng_modules_loaded_fail
}
|