3 # Copyright (C) 2019 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 # SPDX-License-Identifier: LGPL-2.1-only
7 TEST_DESC
="Streaming Base Path Override - User space tracing"
9 CURDIR
=$
(dirname "$0")/
10 TESTDIR
=$CURDIR/..
/..
/..
11 TESTAPP_PATH
="$TESTDIR/utils/testapp"
12 TESTAPP_NAME
="gen-ust-events"
13 TESTAPP_BIN
="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
14 EVENT_NAME
="tp:tptest"
16 TRACE_PATH
=$
(mktemp
-d -t tmp.test_base_path_ust_trace_path.XXXXXX
)
20 source "$TESTDIR/utils/utils.sh"
22 if [ ! -x "$TESTAPP_BIN" ]; then
23 BAIL_OUT
"No UST events binary detected."
26 function ust_app_stream_base_path
()
28 local session_name
="ust_app_stream_base_path"
29 local base_path
="my/custom/path1"
31 diag
"Test base path override for trace streaming"
32 create_lttng_session_uri
$session_name net
://localhost
/$base_path
33 enable_ust_lttng_event_ok
$session_name $EVENT_NAME
35 start_lttng_tracing_ok
$session_name
37 $TESTAPP_BIN > /dev
/null
2>&1
39 stop_lttng_tracing_ok
$session_name
40 destroy_lttng_session_ok
$session_name
43 validate_trace_path_ust_uid_network
"$TRACE_PATH" "" "$base_path"
44 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
45 # only delete if successful
50 function ust_app_snapshot_create_base_path
()
52 local session_name
="ust_app_snapshot_create_base_path"
53 local base_path
="my/custom/path2"
55 diag
"Test base path override for remote trace snapshot (URI on create)"
56 create_lttng_session_uri
$session_name net
://localhost
/$base_path \
58 enable_ust_lttng_event_ok
$session_name $EVENT_NAME
60 start_lttng_tracing_ok
$session_name
62 $TESTAPP_BIN > /dev
/null
2>&1
64 stop_lttng_tracing_ok
$session_name
66 lttng_snapshot_record
$session_name
68 destroy_lttng_session_ok
$session_name
71 validate_trace_path_ust_uid_snapshot_network
"$TRACE_PATH" "" "snapshot-1" 0 "$base_path"
72 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
73 # only delete if successful
78 function ust_app_snapshot_base_path
()
80 local session_name
="ust_app_snapshot_base_path"
81 local base_path
="my/custom/path3"
83 diag
"Test base path override for remote trace snapshot (URI on snapshot)"
84 create_lttng_session_no_output
$session_name --snapshot
85 enable_ust_lttng_event_ok
$session_name $EVENT_NAME
87 start_lttng_tracing_ok
$session_name
89 $TESTAPP_BIN > /dev
/null
2>&1
91 stop_lttng_tracing_ok
$session_name
93 lttng_snapshot_record
$session_name net
://localhost
/$base_path
95 destroy_lttng_session_ok
$session_name
98 validate_trace_path_ust_uid_snapshot_network
"$TRACE_PATH" "" "snapshot-0" 0 "$base_path"
99 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
100 # only delete if successful
105 function ust_app_snapshot_add_output_base_path
()
107 local session_name
="ust_app_snapshot_add_output_base_path"
108 local base_path
="my/custom/path4"
110 diag
"Test base path override for remote trace snapshot (URI on add-output)"
111 create_lttng_session_no_output
$session_name --snapshot
112 enable_ust_lttng_event_ok
$session_name $EVENT_NAME
114 start_lttng_tracing_ok
$session_name
116 $TESTAPP_BIN > /dev
/null
2>&1
118 stop_lttng_tracing_ok
$session_name
120 lttng_snapshot_add_output_ok
$session_name net
://localhost
/$base_path
121 lttng_snapshot_record
$session_name
123 destroy_lttng_session_ok
$session_name
126 validate_trace_path_ust_uid_snapshot_network
"$TRACE_PATH" "" "snapshot-1" 0 "$base_path"
127 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
128 # only delete if successful
133 function ust_app_stream_base_path_via_load
()
135 local session_name
="load-stream-extra-path"
136 local base_path
="my/custom/path5"
138 diag
"Test base path override for trace streaming using lttng load"
139 lttng_load_ok
"-i $CURDIR/$session_name.lttng"
140 start_lttng_tracing_ok
$session_name
142 $TESTAPP_BIN > /dev
/null
2>&1
144 stop_lttng_tracing_ok
$session_name
145 destroy_lttng_session_ok
$session_name
148 validate_trace_path_ust_uid_network
"$TRACE_PATH" "" "$base_path"
149 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
150 # only delete if successful
155 plan_tests
$NUM_TESTS
157 print_test_banner
"$TEST_DESC"
158 bail_out_if_no_babeltrace
160 start_lttng_relayd
"-o $TRACE_PATH"
163 tests
=( ust_app_stream_base_path
164 ust_app_snapshot_create_base_path
165 ust_app_snapshot_base_path
166 ust_app_snapshot_add_output_base_path
167 ust_app_stream_base_path_via_load
169 for fct_test
in "${tests[@]}";