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)
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 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
44 # only delete if successful
49 function ust_app_snapshot_create_base_path
()
51 local session_name
="ust_app_snapshot_create_base_path"
52 local base_path
="my/custom/path2"
54 diag
"Test base path override for remote trace snapshot (URI on create)"
55 create_lttng_session_uri
$session_name net
://localhost
/$base_path \
57 enable_ust_lttng_event_ok
$session_name $EVENT_NAME
59 start_lttng_tracing_ok
$session_name
61 $TESTAPP_BIN > /dev
/null
2>&1
63 stop_lttng_tracing_ok
$session_name
65 lttng_snapshot_record
$session_name
67 destroy_lttng_session_ok
$session_name
70 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
71 # only delete if successful
76 function ust_app_snapshot_base_path
()
78 local session_name
="ust_app_snapshot_base_path"
79 local base_path
="my/custom/path3"
81 diag
"Test base path override for remote trace snapshot (URI on snapshot)"
82 create_lttng_session_no_output
$session_name --snapshot
83 enable_ust_lttng_event_ok
$session_name $EVENT_NAME
85 start_lttng_tracing_ok
$session_name
87 $TESTAPP_BIN > /dev
/null
2>&1
89 stop_lttng_tracing_ok
$session_name
91 lttng_snapshot_record
$session_name net
://localhost
/$base_path
93 destroy_lttng_session_ok
$session_name
96 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
97 # only delete if successful
102 function ust_app_snapshot_add_output_base_path
()
104 local session_name
="ust_app_snapshot_add_output_base_path"
105 local base_path
="my/custom/path4"
107 diag
"Test base path override for remote trace snapshot (URI on add-output)"
108 create_lttng_session_no_output
$session_name --snapshot
109 enable_ust_lttng_event_ok
$session_name $EVENT_NAME
111 start_lttng_tracing_ok
$session_name
113 $TESTAPP_BIN > /dev
/null
2>&1
115 stop_lttng_tracing_ok
$session_name
117 lttng_snapshot_add_output_ok
$session_name net
://localhost
/$base_path
118 lttng_snapshot_record
$session_name
120 destroy_lttng_session_ok
$session_name
123 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
124 # only delete if successful
129 function ust_app_stream_base_path_via_load
()
131 local session_name
="load-stream-extra-path"
132 local base_path
="my/custom/path5"
134 diag
"Test base path override for trace streaming using lttng load"
135 lttng_load_ok
"-i $CURDIR/$session_name.lttng"
136 start_lttng_tracing_ok
$session_name
138 $TESTAPP_BIN > /dev
/null
2>&1
140 stop_lttng_tracing_ok
$session_name
141 destroy_lttng_session_ok
$session_name
144 if validate_trace
$EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
145 # only delete if successful
150 plan_tests
$NUM_TESTS
152 print_test_banner
"$TEST_DESC"
154 start_lttng_relayd
"-o $TRACE_PATH"
157 tests
=( ust_app_stream_base_path
158 ust_app_snapshot_create_base_path
159 ust_app_snapshot_base_path
160 ust_app_snapshot_add_output_base_path
161 ust_app_stream_base_path_via_load
163 for fct_test
in "${tests[@]}";