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