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 88 89 90 91
|
#!/bin/bash
#
# SPDX-FileCopyrightText: 2013 Christian Babeux <christian.babeux@efficios.com>
#
# SPDX-License-Identifier: GPL-2.0-only
TEST_DESC="UST tracer - Basic events"
CURDIR=$(dirname "$0")/
TESTDIR="$CURDIR/../.."
TESTAPP_PATH="$TESTDIR/utils/testapp"
TESTAPP_NAME="gen-ust-events"
TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME"
NR_ITER=5
NR_USEC_WAIT=1
NUM_TESTS=32
# shellcheck source-path=SCRIPTDIR/../..
source "$TESTDIR/utils/utils.sh"
function test_event_basic()
{
local session_name="ust_event_basic"
local session_name2="ust_event_basic2"
local chan_name="mychan"
local chan_name2="mychan2"
local event_name="tp:tptest"
local event_name2="ev2"
local event_name3="ev3"
local trace_path
local file_testapp_output
trace_path=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
file_testapp_output=$(mktemp -u -t "tmp.${FUNCNAME[0]}_testapp_output.XXXXXX")
create_lttng_session_ok $session_name "$trace_path/$session_name"
create_lttng_session_ok $session_name2 "$trace_path/$session_name2"
enable_ust_lttng_channel_ok $session_name $chan_name
enable_ust_lttng_channel_ok $session_name2 $chan_name2
enable_ust_lttng_event_ok $session_name $event_name $chan_name
enable_ust_lttng_event_ok $session_name $event_name2 $chan_name
enable_ust_lttng_event_ok $session_name2 $event_name3 $chan_name2
add_context_ust_ok $session_name $chan_name "vpid"
add_context_ust_ok $session_name $chan_name "vtid"
add_context_ust_ok $session_name $chan_name "pthread_id"
add_context_ust_ok $session_name $chan_name "procname"
add_context_ust_ok $session_name2 $chan_name2 "procname"
disable_ust_lttng_event $session_name $event_name $chan_name
disable_ust_lttng_event $session_name2 $event_name3 $chan_name2
enable_ust_lttng_event_ok $session_name $event_name $chan_name
enable_ust_lttng_event_ok $session_name2 $event_name3 $chan_name2
start_lttng_tracing_ok $session_name
start_lttng_tracing_ok $session_name
run_testapp_ok "$file_testapp_output" "$TESTAPP_BIN" -i "$NR_ITER" -w "$NR_USEC_WAIT"
stop_lttng_tracing_ok $session_name
stop_lttng_tracing_ok $session_name2
start_lttng_tracing_ok $session_name
start_lttng_tracing_ok $session_name2
run_testapp_ok "$file_testapp_output" "$TESTAPP_BIN" -i "$NR_ITER" -w "$NR_USEC_WAIT"
stop_lttng_tracing_ok $session_name
stop_lttng_tracing_ok $session_name2
validate_trace_count $event_name "$trace_path" $(( NR_ITER * 2 ))
destroy_lttng_session_ok $session_name2
destroy_lttng_session_ok $session_name
rm -rf "$trace_path"
rm -f "$file_testapp_output"
}
# MUST set TESTDIR before calling those functions
plan_tests $NUM_TESTS
print_test_banner "$TEST_DESC"
start_lttng_sessiond
test_event_basic
stop_lttng_sessiond
|