tests: Move to kernel style SPDX license identifiers
[lttng-tools.git] / tests / regression / tools / base-path / test_ust
1 #!/bin/bash
2 #
3 # Copyright (C) 2019 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
4 #
5 # SPDX-License-Identifier: LGPL-2.1-only
6
7 TEST_DESC="Streaming Base Path Override - User space tracing"
8
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"
15
16 TRACE_PATH=$(mktemp -d)
17
18 NUM_TESTS=37
19
20 source "$TESTDIR/utils/utils.sh"
21
22 if [ ! -x "$TESTAPP_BIN" ]; then
23 BAIL_OUT "No UST events binary detected."
24 fi
25
26 function ust_app_stream_base_path ()
27 {
28 local session_name="ust_app_stream_base_path"
29 local base_path="my/custom/path1"
30
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
34
35 start_lttng_tracing_ok $session_name
36
37 $TESTAPP_BIN > /dev/null 2>&1
38
39 stop_lttng_tracing_ok $session_name
40 destroy_lttng_session_ok $session_name
41
42 # validate test
43 if validate_trace $EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
44 # only delete if successful
45 rm -rf "$TRACE_PATH"
46 fi
47 }
48
49 function ust_app_snapshot_create_base_path ()
50 {
51 local session_name="ust_app_snapshot_create_base_path"
52 local base_path="my/custom/path2"
53
54 diag "Test base path override for remote trace snapshot (URI on create)"
55 create_lttng_session_uri $session_name net://localhost/$base_path \
56 --snapshot
57 enable_ust_lttng_event_ok $session_name $EVENT_NAME
58
59 start_lttng_tracing_ok $session_name
60
61 $TESTAPP_BIN > /dev/null 2>&1
62
63 stop_lttng_tracing_ok $session_name
64
65 lttng_snapshot_record $session_name
66
67 destroy_lttng_session_ok $session_name
68
69 # validate test
70 if validate_trace $EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
71 # only delete if successful
72 rm -rf "$TRACE_PATH"
73 fi
74 }
75
76 function ust_app_snapshot_base_path ()
77 {
78 local session_name="ust_app_snapshot_base_path"
79 local base_path="my/custom/path3"
80
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
84
85 start_lttng_tracing_ok $session_name
86
87 $TESTAPP_BIN > /dev/null 2>&1
88
89 stop_lttng_tracing_ok $session_name
90
91 lttng_snapshot_record $session_name net://localhost/$base_path
92
93 destroy_lttng_session_ok $session_name
94
95 # validate test
96 if validate_trace $EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
97 # only delete if successful
98 rm -rf "$TRACE_PATH"
99 fi
100 }
101
102 function ust_app_snapshot_add_output_base_path ()
103 {
104 local session_name="ust_app_snapshot_add_output_base_path"
105 local base_path="my/custom/path4"
106
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
110
111 start_lttng_tracing_ok $session_name
112
113 $TESTAPP_BIN > /dev/null 2>&1
114
115 stop_lttng_tracing_ok $session_name
116
117 lttng_snapshot_add_output_ok $session_name net://localhost/$base_path
118 lttng_snapshot_record $session_name
119
120 destroy_lttng_session_ok $session_name
121
122 # validate test
123 if validate_trace $EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
124 # only delete if successful
125 rm -rf "$TRACE_PATH"
126 fi
127 }
128
129 function ust_app_stream_base_path_via_load ()
130 {
131 local session_name="load-stream-extra-path"
132 local base_path="my/custom/path5"
133
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
137
138 $TESTAPP_BIN > /dev/null 2>&1
139
140 stop_lttng_tracing_ok $session_name
141 destroy_lttng_session_ok $session_name
142
143 # validate test
144 if validate_trace $EVENT_NAME "$TRACE_PATH/$HOSTNAME/$base_path"; then
145 # only delete if successful
146 rm -rf "$TRACE_PATH"
147 fi
148 }
149
150 plan_tests $NUM_TESTS
151
152 print_test_banner "$TEST_DESC"
153
154 start_lttng_relayd "-o $TRACE_PATH"
155 start_lttng_sessiond
156
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
162 )
163 for fct_test in "${tests[@]}";
164 do
165 ${fct_test}
166 done
167
168 stop_lttng_sessiond
169 stop_lttng_relayd
This page took 0.033783 seconds and 5 git commands to generate.