trackers: bump MI version to 4.0
[lttng-tools.git] / tests / regression / tools / relayd-grouping / test_ust
CommitLineData
a9115ebf
JR
1#!/bin/bash
2#
3# Copyright (C) - 2018 Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
4#
5# This library is free software; you can redistribute it and/or modify it under
6# the terms of the GNU Lesser General Public License as published by the Free
7# Software Foundation; version 2.1 of the License.
8#
9# This library is distributed in the hope that it will be useful, but WITHOUT
10# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12# details.
13#
14# You should have received a copy of the GNU Lesser General Public License
15# along with this library; if not, write to the Free Software Foundation, Inc.,
16# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
18TEST_DESC="LTTng relayd filesystem grouping - Userspace tracing"
19
20CURDIR=$(dirname "$0")/
21TESTDIR=$CURDIR/../../..
22NR_ITER=10
23NR_USEC_WAIT=100
24TESTAPP_PATH="$TESTDIR/utils/testapp"
25TESTAPP_NAME="gen-ust-events"
26TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
27EVENT_NAME="tp:tptest"
28CHANNEL_NAME="my_channel"
29
01fac814 30XSD_PATH=$TESTDIR/../src/common/mi-lttng-4.0.xsd
a9115ebf
JR
31
32XML_VALIDATE="$TESTDIR/regression/tools/mi/validate_xml $XSD_PATH"
33XML_EXTRACT="$TESTDIR/regression/tools/mi/extract_xml"
34
35XPATH_CMD_OUTPUT="//lttng:command/lttng:output"
36XPATH_SESSION="$XPATH_CMD_OUTPUT/lttng:sessions/lttng:session"
37
38
39NUM_TESTS=688
40
41source "$TESTDIR/utils/utils.sh"
42
43if [ ! -x "$TESTAPP_BIN" ]; then
44 BAIL_OUT "No UST events binary detected."
45fi
46
47function get_auto_session_name ()
48{
49 local __result=$1
50
51 local lttng_bin=$LTTNG_BIN
52
53 LTTNG_BIN="${lttng_bin} --mi xml"
54 OUTPUT_DEST=$(mktemp)
55
56 list_lttng_with_opts
57 $XML_VALIDATE "$OUTPUT_DEST"
58 ok $? "Valid lttng list XML"
59
60 value=$($XML_EXTRACT "$OUTPUT_DEST" ${XPATH_SESSION}/lttng:name/text\(\))
61 ok $? "Extraction of session name"
62 OUTPUT_DEST=/dev/null
63 LTTNG_BIN=$lttng_bin
64
65 # Transfer value to passed arguments
66 eval "$__result='$value'"
67}
68
69function test_ust_uid_live ()
70{
71 local session_name="$1"
72 local grouping="$2"
73 local is_automatic_session=false
74
75 if [ -z "$session_name" ]; then
76 is_automatic_session=true
77 fi
78
79 diag "Test UST uid buffer live [$grouping][${session_name:-automatic session name}]"
80
81 create_lttng_session_uri "$session_name" net://localhost --live
82 if [ "$is_automatic_session" = true ]; then
83 get_auto_session_name session_name
84 fi
85
86 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-uid"
87 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
88 start_lttng_tracing_ok "$session_name"
89
6c4a91d6 90 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
91
92 stop_lttng_tracing_ok "$session_name"
93 destroy_lttng_session_ok "$session_name"
94
95 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
96 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME*"
97 else
98 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*"
99 fi
100
101 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
102 rm -rf "${TRACE_PATH:?}/$session_name"
103 else
104 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
105 fi
106}
107
108function test_ust_pid_live ()
109{
110 local session_name="$1"
111 local grouping="$2"
112 local is_automatic_session=false
113
114 if [ -z "$session_name" ]; then
115 is_automatic_session=true
116 fi
117
118 diag "Test UST pid buffer live [$grouping][${session_name:-automatic session name}]"
119
120 create_lttng_session_uri "$session_name" net://localhost --live
121 if [ "$is_automatic_session" = true ]; then
122 get_auto_session_name session_name
123 fi
124
125 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-pid"
126 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
127 start_lttng_tracing_ok "$session_name"
128
6c4a91d6 129 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
130
131 stop_lttng_tracing_ok "$session_name"
132 destroy_lttng_session_ok "$session_name"
133
134 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
135 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME*"
136 else
137 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*"
138 fi
139
140 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
141 rm -rf "${TRACE_PATH:?}/$session_name"
142 else
143 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
144 fi
145}
146
147function test_ust_uid_live_custom_output ()
148{
149 local session_name="$1"
150 local grouping="$2"
151 local custom_output="my_live_custom_output"
152 local is_automatic_session=false
153
154 if [ -z "$session_name" ]; then
155 is_automatic_session=true
156 fi
157
158 diag "Test UST uid buffer live, custom output [$grouping][${session_name:-automatic session name}]"
159
160 create_lttng_session_uri "$session_name" net://localhost/$custom_output --live
161 if [ "$is_automatic_session" = true ]; then
162 get_auto_session_name session_name
163 fi
164
165 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-uid"
166 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
167 start_lttng_tracing_ok "$session_name"
168
6c4a91d6 169 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
170
171 stop_lttng_tracing_ok "$session_name"
172 destroy_lttng_session_ok "$session_name"
173
174 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
175 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME-*/$custom_output"
176 else
177 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$custom_output"
178 fi
179
180 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
181 rm -rf "${TRACE_PATH:?}/$session_name"
182 else
183 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
184 fi
185}
186
187function test_ust_uid_streaming ()
188{
189 local session_name="$1"
190 local grouping="$2"
191 local is_automatic_session=false
192
193 if [ -z "$session_name" ]; then
194 is_automatic_session=true
195 fi
196
197 diag "Test UST uid buffer streaming [$grouping][${session_name:-automatic session name}]"
198
199 create_lttng_session_uri "$session_name" net://localhost
200 if [ "$is_automatic_session" = true ]; then
201 get_auto_session_name session_name
202 fi
203
204 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-uid"
205 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
206 start_lttng_tracing_ok "$session_name"
207
6c4a91d6 208 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
209
210 stop_lttng_tracing_ok "$session_name"
211 destroy_lttng_session_ok "$session_name"
212
213 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
214 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME*"
215 else
216 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*"
217 fi
218
219 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
220 rm -rf "${TRACE_PATH:?}/$session_name"
221 else
222 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
223 fi
224}
225
226function test_ust_pid_streaming ()
227{
228 local session_name="$1"
229 local grouping="$2"
230 local is_automatic_session=false
231
232 if [ -z "$session_name" ]; then
233 is_automatic_session=true
234 fi
235
236 diag "Test UST pid buffer streaming [$grouping][${session_name:-automatic session name}]"
237
238 create_lttng_session_uri "$session_name" net://localhost
239 if [ "$is_automatic_session" = true ]; then
240 get_auto_session_name session_name
241 fi
242
243 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-pid"
244 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
245 start_lttng_tracing_ok "$session_name"
246
6c4a91d6 247 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
248
249 stop_lttng_tracing_ok "$session_name"
250 destroy_lttng_session_ok "$session_name"
251
252 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
253 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME*"
254 else
255 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*"
256 fi
257
258 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
259 rm -rf "${TRACE_PATH:?}/$session_name"
260 else
261 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
262 fi
263}
264
265function test_ust_uid_streaming_custom_output ()
266{
267 local session_name="$1"
268 local grouping="$2"
269 local custom_output="custom_second_token"
270 local is_automatic_session=false
271
272 if [ -z "$session_name" ]; then
273 is_automatic_session=true
274 fi
275
276 diag "Test UST uid buffer streaming, custom output [$grouping][${session_name:-automatic session name}]"
277
278 create_lttng_session_uri "$session_name" net://localhost/$custom_output
279 if [ "$is_automatic_session" = true ]; then
280 get_auto_session_name session_name
281 fi
282
283 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-uid"
284 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
285 start_lttng_tracing_ok "$session_name"
286
6c4a91d6 287 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
288
289 stop_lttng_tracing_ok "$session_name"
290 destroy_lttng_session_ok "$session_name"
291
292 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
293 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME-*/$custom_output"
294 else
295 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$custom_output"
296 fi
297
298 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
299 rm -rf "${TRACE_PATH:?}/$session_name"
300 else
301 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
302 fi
303}
304
305function test_ust_uid_streaming_rotate ()
306{
307 local session_name="$1"
308 local grouping="$2"
309 local is_automatic_session=false
310
311 if [ -z "$session_name" ]; then
312 is_automatic_session=true
313 fi
314
315 diag "Test UST uid buffer rotate [$grouping][${session_name:-automatic session name}]"
316
317 create_lttng_session_uri "$session_name" net://localhost
318 if [ "$is_automatic_session" = true ]; then
319 get_auto_session_name session_name
320 fi
321
322 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-uid"
323 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
324 start_lttng_tracing_ok "$session_name"
325
6c4a91d6 326 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
327 rotate_session_ok "$session_name"
328
329 stop_lttng_tracing_ok "$session_name"
330 destroy_lttng_session_ok "$session_name"
331
332 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
333 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME*"
334 else
335 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*"
336 fi
337
338 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
339 rm -rf "${TRACE_PATH:?}/$session_name"
340 else
341 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
342 fi
343}
344
345function test_ust_uid_streaming_rotate_custom_output ()
346{
347 local session_name="$1"
348 local grouping="$2"
349 local custom_output="rotate_custom_path"
350 local is_automatic_session=false
351
352 if [ -z "$session_name" ]; then
353 is_automatic_session=true
354 fi
355
356 diag "Test UST uid buffer rotate, custom output [$grouping][${session_name:-automatic session name}]"
357
358 create_lttng_session_uri "$session_name" net://localhost/$custom_output
359 if [ "$is_automatic_session" = true ]; then
360 get_auto_session_name session_name
361 fi
362
363 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-uid"
364 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
365 start_lttng_tracing_ok "$session_name"
366
6c4a91d6 367 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
368 rotate_session_ok "$session_name"
369
370
371 stop_lttng_tracing_ok "$session_name"
372 destroy_lttng_session_ok "$session_name"
373
374 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
375 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME-*/$custom_output"
376 else
377 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$custom_output"
378 fi
379
380 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
381 rm -rf "${TRACE_PATH:?}/$session_name"
382 else
383 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
384 fi
385}
386
387function test_ust_pid_streaming_rotate ()
388{
389 local session_name="$1"
390 local grouping="$2"
391 local is_automatic_session=false
392
393 if [ -z "$session_name" ]; then
394 is_automatic_session=true
395 fi
396
397 diag "Test UST pid buffer rotate with session_name [$grouping][${session_name:-automatic session name}]"
398
399 create_lttng_session_uri "$session_name" net://localhost
400 if [ "$is_automatic_session" = true ]; then
401 get_auto_session_name session_name
402 fi
403
404 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-pid"
405 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
406 start_lttng_tracing_ok "$session_name"
407
6c4a91d6 408 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
409 rotate_session_ok "$session_name"
410
411 stop_lttng_tracing_ok "$session_name"
412 destroy_lttng_session_ok "$session_name"
413
414 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
415 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME*"
416 else
417 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*"
418 fi
419
420 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
421 rm -rf "${TRACE_PATH:?}/$session_name"
422 else
423 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
424 fi
425}
426
427function test_ust_uid_streaming_snapshot ()
428{
429 local session_name="$1"
430 local grouping="$2"
431 local is_automatic_session=false
432
433 if [ -z "$session_name" ]; then
434 is_automatic_session=true
435 fi
436
437 diag "Test UST uid buffer snapshot streaming using 'create --snapshot' [$grouping][${session_name:-automatic session name}]"
438
439 create_lttng_session_uri "$session_name" net://localhost --snapshot
440 if [ "$is_automatic_session" = true ]; then
441 get_auto_session_name session_name
442 fi
443
444 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-uid"
445 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
446 start_lttng_tracing_ok "$session_name"
447
6c4a91d6 448 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
449 lttng_snapshot_record "$session_name"
450
451 stop_lttng_tracing_ok "$session_name"
452 destroy_lttng_session_ok "$session_name"
453
454 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
455 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME*"
456 else
457 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*"
458 fi
459
460 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
461 rm -rf "${TRACE_PATH:?}/$session_name"
462 else
463 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
464 fi
465}
466
467function test_ust_pid_streaming_snapshot ()
468{
469 local session_name="$1"
470 local grouping="$2"
471 local is_automatic_session=false
472
473 local file_sync_after_first
474 local file_sync_before_last
475
476 file_sync_after_first=$(mktemp -u)
477 file_sync_before_last=$(mktemp -u)
478
479 if [ -z "$session_name" ]; then
480 is_automatic_session=true
481 fi
482
483 diag "Test UST pid buffer snapshot streaming using 'create --snapshot' [$grouping][${session_name:-automatic session name}]"
484
485 create_lttng_session_uri "$session_name" net://localhost --snapshot
486 if [ "$is_automatic_session" = true ]; then
487 get_auto_session_name session_name
488 fi
489
490 enable_ust_lttng_channel_ok "$session_name" "$CHANNEL_NAME" "--buffers-pid"
491 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
492 start_lttng_tracing_ok "$session_name"
493
6c4a91d6
MD
494 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \
495 --sync-after-first-event "$file_sync_after_first" \
496 --sync-before-last-event "$file_sync_before_last" 2>&1 &
a9115ebf
JR
497
498 while [ ! -f "${file_sync_after_first}" ]; do
499 sleep 0.5
500 done
501
502 lttng_snapshot_record "$session_name"
503
504 touch "$file_sync_before_last"
505 wait
506
507 stop_lttng_tracing_ok "$session_name"
508 destroy_lttng_session_ok "$session_name"
509
510 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
511 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME-*/snapshot-1*"
512 else
513 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*/snapshot-1*"
514 fi
515
516 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
517 rm -rf "${TRACE_PATH:?}/$session_name"
518 else
519 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
520 fi
521
522 rm -f "$file_sync_after_first"
523 rm -f "$file_sync_before_last"
524}
525
526function test_ust_uid_streaming_snapshot_add_output_default_name ()
527{
528 local session_name="$1"
529 local grouping="$2"
530 local is_automatic_session=false
531
532 if [ -z "$session_name" ]; then
533 is_automatic_session=true
534 fi
535
536 diag "Test UST uid buffer snapshot using 'add-output' with default snapshot name [$grouping][${session_name:-automatic session name}]"
537
538 create_lttng_session_no_output "$session_name"
539 if [ "$is_automatic_session" = true ]; then
540 get_auto_session_name session_name
541 fi
542
543 enable_lttng_mmap_overwrite_ust_channel "$session_name" "$CHANNEL_NAME"
544 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
545 start_lttng_tracing_ok "$session_name"
546
6c4a91d6 547 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
548
549 lttng_snapshot_add_output_ok "$session_name" "net://localhost"
550 lttng_snapshot_record "$session_name"
551
552 stop_lttng_tracing_ok "$session_name"
553 destroy_lttng_session_ok "$session_name"
554
555 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
556 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME-*/snapshot-1*"
557 else
558 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*/snapshot-1*"
559 fi
560
561 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
562 rm -rf "${TRACE_PATH:?}/$session_name"
563 else
564 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
565 fi
566}
567
568function test_ust_uid_streaming_snapshot_add_output_custom_name ()
569{
570 local session_name="$1"
571 local grouping="$2"
572 local snapshot_name="this_is_my_snapshot"
573 local is_automatic_session=false
574
575 if [ -z "$session_name" ]; then
576 is_automatic_session=true
577 fi
578
579 diag "Test UST uid buffer snapshot using 'add-output' with custom snapshot name [$grouping][${session_name:-automatic session name}]"
580
581 create_lttng_session_no_output "$session_name"
582 if [ "$is_automatic_session" = true ]; then
583 get_auto_session_name session_name
584 fi
585
586 enable_lttng_mmap_overwrite_ust_channel "$session_name" "$CHANNEL_NAME"
587 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
588 start_lttng_tracing_ok "$session_name"
589
6c4a91d6 590 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
591
592 lttng_snapshot_add_output_ok "$session_name" "net://localhost" "-n $snapshot_name"
593 lttng_snapshot_record "$session_name"
594
595 stop_lttng_tracing_ok "$session_name"
596 destroy_lttng_session_ok "$session_name"
597
598 # When session name is automatic, the actual directory is "auto", not
599 # auto-<datetime>.
600 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
601 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME-*/$snapshot_name*"
602 else
603 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$session_name*/$snapshot_name*"
604 fi
605
606 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
607 rm -rf "${TRACE_PATH:?}/$session_name"
608 else
609 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
610 fi
611}
612
613function test_ust_uid_streaming_snapshot_add_output_custom_name_custom_output ()
614{
615 local session_name="$1"
616 local grouping="$2"
617 local snapshot_name="this_is_my_snapshot"
618 local custom_output="this/is/my/custom/path"
619 local is_automatic_session=false
620
621 if [ -z "$session_name" ]; then
622 is_automatic_session=true
623 fi
624
625 diag "Test UST uid buffer snapshot using 'add-output' with custom snapshot name and custom output path [$grouping][${session_name:-automatic session name}]"
626
627 create_lttng_session_no_output "$session_name"
628 if [ "$is_automatic_session" = true ]; then
629 get_auto_session_name session_name
630 fi
631
632 enable_lttng_mmap_overwrite_ust_channel "$session_name" "$CHANNEL_NAME"
633 enable_ust_lttng_event_ok "$session_name" "$EVENT_NAME" "$CHANNEL_NAME"
634 start_lttng_tracing_ok "$session_name"
635
6c4a91d6 636 $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT
a9115ebf
JR
637
638 lttng_snapshot_add_output_ok "$session_name" "net://localhost/$custom_output" "-n $snapshot_name"
639 lttng_snapshot_record "$session_name"
640
641 stop_lttng_tracing_ok "$session_name"
642 destroy_lttng_session_ok "$session_name"
643
644 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
645 validate_trace "$EVENT_NAME" "$TRACE_PATH/$session_name/$HOSTNAME-*/$custom_output/$snapshot_name*"
646 else
647 validate_trace "$EVENT_NAME" "$TRACE_PATH/$HOSTNAME/$custom_output/$snapshot_name*"
648 fi
649
650 if [ "$grouping" = "$GROUP_BY_SESSION" ]; then
651 rm -rf "${TRACE_PATH:?}/$session_name"
652 else
653 rm -rf "${TRACE_PATH:?}/$HOSTNAME"
654 fi
655}
656
657plan_tests $NUM_TESTS
658
659print_test_banner "$TEST_DESC"
660
661
662tests=(
663 test_ust_uid_live
664 test_ust_pid_live
665 test_ust_uid_live_custom_output
666 test_ust_uid_streaming
667 test_ust_pid_streaming
668 test_ust_uid_streaming_custom_output
669 test_ust_uid_streaming_rotate
670 test_ust_uid_streaming_rotate_custom_output
671 test_ust_pid_streaming_rotate
672 test_ust_uid_streaming_snapshot
673 test_ust_pid_streaming_snapshot
674 test_ust_uid_streaming_snapshot_add_output_default_name
675 test_ust_uid_streaming_snapshot_add_output_custom_name
676 test_ust_uid_streaming_snapshot_add_output_custom_name_custom_output
677)
678
679GROUP_BY_SESSION="--group-output-by-session"
680GROUP_BY_HOSTNAME="--group-output-by-host"
681
682grouping_types=(
683 $GROUP_BY_SESSION
684 $GROUP_BY_HOSTNAME
685)
686for fct_test in "${tests[@]}";
687do
688 for grouping in "${grouping_types[@]}";
689 do
690 TRACE_PATH=$(mktemp -d)
691 # Set the relayd in --group-output-by-session mode
692 start_lttng_relayd "-o $TRACE_PATH $grouping"
693 start_lttng_sessiond
694
695 name=""
696 # Perform test when session name is generated by the client
697 ${fct_test} "$name" "$grouping"
698 count=$(find "$TRACE_PATH/" -maxdepth 1 -mindepth 1 | wc -l)
699 is "$count" "0" "LTTng-relayd output directory empty"
700
701 # Perform test when session name is given
702 name="my-session"
703 ${fct_test} "$name" "$grouping"
704 count=$(find "$TRACE_PATH/" -maxdepth 1 -mindepth 1 | wc -l)
705 is "$count" "0" "LTTng-relayd output directory empty"
706
707 rm -rf "$TRACE_PATH"
708 stop_lttng_relayd
709 stop_lttng_sessiond
710 done
711done
712
This page took 0.048877 seconds and 4 git commands to generate.