Cleanup: tests: name all temporary files to better identify leakage
[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 --tmpdir -d tmp.test_base_path_ust_trace_path.XXXXXX)
17
18 NUM_TESTS=42
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 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
46 rm -rf "$TRACE_PATH"
47 fi
48 }
49
50 function ust_app_snapshot_create_base_path ()
51 {
52 local session_name="ust_app_snapshot_create_base_path"
53 local base_path="my/custom/path2"
54
55 diag "Test base path override for remote trace snapshot (URI on create)"
56 create_lttng_session_uri $session_name net://localhost/$base_path \
57 --snapshot
58 enable_ust_lttng_event_ok $session_name $EVENT_NAME
59
60 start_lttng_tracing_ok $session_name
61
62 $TESTAPP_BIN > /dev/null 2>&1
63
64 stop_lttng_tracing_ok $session_name
65
66 lttng_snapshot_record $session_name
67
68 destroy_lttng_session_ok $session_name
69
70 # validate test
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
74 rm -rf "$TRACE_PATH"
75 fi
76 }
77
78 function ust_app_snapshot_base_path ()
79 {
80 local session_name="ust_app_snapshot_base_path"
81 local base_path="my/custom/path3"
82
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
86
87 start_lttng_tracing_ok $session_name
88
89 $TESTAPP_BIN > /dev/null 2>&1
90
91 stop_lttng_tracing_ok $session_name
92
93 lttng_snapshot_record $session_name net://localhost/$base_path
94
95 destroy_lttng_session_ok $session_name
96
97 # validate test
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
101 rm -rf "$TRACE_PATH"
102 fi
103 }
104
105 function ust_app_snapshot_add_output_base_path ()
106 {
107 local session_name="ust_app_snapshot_add_output_base_path"
108 local base_path="my/custom/path4"
109
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
113
114 start_lttng_tracing_ok $session_name
115
116 $TESTAPP_BIN > /dev/null 2>&1
117
118 stop_lttng_tracing_ok $session_name
119
120 lttng_snapshot_add_output_ok $session_name net://localhost/$base_path
121 lttng_snapshot_record $session_name
122
123 destroy_lttng_session_ok $session_name
124
125 # validate test
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
129 rm -rf "$TRACE_PATH"
130 fi
131 }
132
133 function ust_app_stream_base_path_via_load ()
134 {
135 local session_name="load-stream-extra-path"
136 local base_path="my/custom/path5"
137
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
141
142 $TESTAPP_BIN > /dev/null 2>&1
143
144 stop_lttng_tracing_ok $session_name
145 destroy_lttng_session_ok $session_name
146
147 # validate test
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
151 rm -rf "$TRACE_PATH"
152 fi
153 }
154
155 plan_tests $NUM_TESTS
156
157 print_test_banner "$TEST_DESC"
158
159 start_lttng_relayd "-o $TRACE_PATH"
160 start_lttng_sessiond
161
162 tests=( ust_app_stream_base_path
163 ust_app_snapshot_create_base_path
164 ust_app_snapshot_base_path
165 ust_app_snapshot_add_output_base_path
166 ust_app_stream_base_path_via_load
167 )
168 for fct_test in "${tests[@]}";
169 do
170 ${fct_test}
171 done
172
173 stop_lttng_sessiond
174 stop_lttng_relayd
This page took 0.032654 seconds and 4 git commands to generate.