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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#!/bin/bash
#
# SPDX-FileCopyrightText: 2013 Christian Babeux <christian.babeux@efficios.com>
#
# SPDX-License-Identifier: GPL-2.0-only
#
TEST_DESC="Kernel tracer - Basic event"
CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/../..
NUM_TESTS=23
TESTCMD="/bin/true"
source $TESTDIR/utils/utils.sh
function test_event_basic()
{
TRACE_PATH=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="kernel_event_basic"
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
lttng_enable_kernel_event $SESSION_NAME "sched_switch"
lttng_enable_kernel_event $SESSION_NAME "sched_process_exit"
lttng_enable_kernel_event $SESSION_NAME "sched_process_fork"
start_lttng_tracing_ok
# Running a process and waiting for its completion forces the triggering of
# fork, sched_switch and exit events
eval ${TESTCMD}
stop_lttng_tracing_ok
validate_trace_path_kernel "$TRACE_PATH" ""
validate_trace "sched_switch" $TRACE_PATH
validate_trace "sched_process_exit" $TRACE_PATH
validate_trace "sched_process_fork" $TRACE_PATH
destroy_lttng_session_ok $SESSION_NAME
rm -rf $TRACE_PATH
}
function test_enable_after_start()
{
TRACE_PATH=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="kernel_enable_after_start"
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
lttng_enable_kernel_event $SESSION_NAME "sched_switch"
start_lttng_tracing_ok
lttng_enable_kernel_event $SESSION_NAME "sched_process_exit"
# Running a process and waiting for its completion forces the triggering of
# sched_switch and exit events
eval ${TESTCMD}
stop_lttng_tracing_ok
validate_trace "sched_switch" $TRACE_PATH
validate_trace "sched_process_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
validate_lttng_modules_present
start_lttng_sessiond
test_event_basic
test_enable_after_start
stop_lttng_sessiond
lttng_modules_loaded_fail
}
|