1 # Copyright (C) - 2012 David Goulet <dgoulet@efficios.com>
3 # This library is free software; you can redistribute it and/or modify it under
4 # the terms of the GNU Lesser General Public License as published by the Free
5 # Software Foundation; version 2.1 of the License.
7 # This library is distributed in the hope that it will be useful, but WITHOUT
8 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12 # You should have received a copy of the GNU Lesser General Public License
13 # along with this library; if not, write to the Free Software Foundation, Inc.,
14 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 SESSIOND_BIN
="lttng-sessiond"
17 SESSIOND_MATCH
=".*lttng-sess.*"
18 RUNAS_BIN
="lttng-runas"
19 RUNAS_MATCH
=".*lttng-runas.*"
20 CONSUMERD_BIN
="lttng-consumerd"
21 CONSUMERD_MATCH
=".*lttng-consumerd.*"
22 RELAYD_BIN
="lttng-relayd"
23 RELAYD_MATCH
=".*lttng-relayd.*"
25 BABELTRACE_BIN
="babeltrace"
27 ERROR_OUTPUT_DEST
=/dev
/null
29 # Minimal kernel version supported for session daemon tests
30 KERNEL_MAJOR_VERSION
=2
31 KERNEL_MINOR_VERSION
=6
32 KERNEL_PATCHLEVEL_VERSION
=27
34 # We set the default UST register timeout and network and app socket timeout to
35 # "wait forever", so that basic tests don't have to worry about hitting
36 # timeouts on busy systems. Specialized tests should test those corner-cases.
37 export LTTNG_UST_REGISTER_TIMEOUT
=-1
38 export LTTNG_NETWORK_SOCKET_TIMEOUT
=-1
39 export LTTNG_APP_SOCKET_TIMEOUT
=-1
41 # We set the default lttng-sessiond path to /bin/true to prevent the spawning
42 # of a daemonized sessiond. This is necessary since 'lttng create' will spawn
43 # its own sessiond if none is running. It also ensures that 'lttng create'
44 # fails when no sessiond is running.
45 export LTTNG_SESSIOND_PATH
="/bin/true"
47 source $TESTDIR/utils
/tap
/tap.sh
49 if [ -z $LTTNG_TEST_TEARDOWN_TIMEOUT ]; then
50 LTTNG_TEST_TEARDOWN_TIMEOUT
=60
53 function full_cleanup
()
55 # Try to kill daemons gracefully
56 stop_lttng_relayd_notap SIGTERM
$LTTNG_TEST_TEARDOWN_TIMEOUT
57 stop_lttng_sessiond_notap SIGTERM
$LTTNG_TEST_TEARDOWN_TIMEOUT
59 # If daemons are still present, forcibly kill them
60 stop_lttng_relayd_notap SIGKILL
$LTTNG_TEST_TEARDOWN_TIMEOUT
61 stop_lttng_sessiond_notap SIGKILL
$LTTNG_TEST_TEARDOWN_TIMEOUT
62 stop_lttng_consumerd_notap SIGKILL
$LTTNG_TEST_TEARDOWN_TIMEOUT
64 # Disable trap for SIGTERM since the following kill to the
65 # pidgroup will be SIGTERM. Otherwise it loops.
66 # The '-' before the pid number ($$) indicates 'kill' to signal the
67 # whole process group.
68 trap - SIGTERM
&& kill -- -$$
72 trap full_cleanup SIGINT SIGTERM
76 # Check if we are a terminal
78 echo -e "\e[1;32mOK\e[0m"
84 function print_fail
()
86 # Check if we are a terminal
88 echo -e "\e[1;31mFAIL\e[0m"
94 function print_test_banner
()
100 function validate_kernel_version
()
102 local kern_version
=($
(uname
-r |
awk -F.
'{ printf("%d.%d.%d\n",$1,$2,$3); }' |
tr '.' '\n'))
103 if [ ${kern_version[0]} -gt $KERNEL_MAJOR_VERSION ]; then
106 if [ ${kern_version[1]} -gt $KERNEL_MINOR_VERSION ]; then
109 if [ ${kern_version[2]} -ge $KERNEL_PATCHLEVEL_VERSION ]; then
115 # Generate a random string
116 # $1 = number of characters; defaults to 16
117 # $2 = include special characters; 1 = yes, 0 = no; defaults to yes
118 function randstring
()
120 [ "$2" == "0" ] && CHAR
="[:alnum:]" || CHAR
="[:graph:]"
121 cat /dev
/urandom
2>/dev
/null |
tr -cd "$CHAR" 2>/dev
/null |
head -c ${1:-16} 2>/dev
/null
125 # Return the number of _configured_ CPUs.
126 function conf_proc_count
()
128 getconf _NPROCESSORS_CONF
129 if [ $?
-ne 0 ]; then
130 diag
"Failed to get the number of configured CPUs"
135 # Check if base lttng-modules are present.
136 # Bail out on failure
137 function validate_lttng_modules_present
()
139 modprobe
-n lttng-tracer
2>/dev
/null
140 if [ $?
-ne 0 ]; then
141 BAIL_OUT
"LTTng modules not detected."
145 function enable_kernel_lttng_event
148 local expected_to_fail
="$2"
150 local event_name
="$4"
151 local channel_name
="$5"
153 if [ -z "$event_name" ]; then
154 # Enable all event if no event name specified
158 if [ -z "$channel_name" ]; then
159 # default channel if none specified
162 chan
="-c $channel_name"
165 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" $chan -s $sess_name -k 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
167 if [[ $expected_to_fail -eq "1" ]]; then
170 if [ $withtap -eq "1" ]; then
171 ok
$ret "Enable kernel event $event_name for session $session_name on channel $channel_name failed as expected"
174 if [ $withtap -eq "1" ]; then
175 ok
$ret "Enable kernel event $event_name for session $sess_name"
180 function enable_kernel_lttng_event_ok
()
182 enable_kernel_lttng_event
1 0 "$@"
185 function enable_kernel_lttng_event_fail
()
187 enable_kernel_lttng_event
1 1 "$@"
190 function enable_kernel_lttng_event_notap
()
192 enable_kernel_lttng_event
0 0 "$@"
196 function lttng_enable_kernel_event
198 enable_kernel_lttng_event_ok
"$@"
201 function lttng_enable_kernel_syscall
()
203 local expected_to_fail
=$1
205 local syscall_name
=$3
206 local channel_name
=$4
208 if [ -z $syscall_name ]; then
209 # Enable all event if no syscall name specified
213 if [ -z $channel_name ]; then
214 # default channel if none specified
217 chan
="-c $channel_name"
220 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
--syscall "$syscall_name" $chan -s $sess_name -k 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
222 if [[ $expected_to_fail -eq "1" ]]; then
224 ok $?
"Enable kernel syscall $syscall_name for session $sess_name on channel $channel_name fail as expected"
226 ok
$ret "Enable kernel syscall $syscall_name for session $sess_name on channel $channel_name"
230 function lttng_enable_kernel_syscall_ok
()
232 lttng_enable_kernel_syscall
0 "$@"
235 function lttng_enable_kernel_syscall_fail
()
237 lttng_enable_kernel_syscall
1 "$@"
240 function lttng_disable_kernel_syscall
()
242 local expected_to_fail
=$1
244 local syscall_name
=$3
245 local channel_name
=$4
247 if [ -z $syscall_name ]; then
248 # Enable all event if no syscall name specified
252 if [ -z $channel_name ]; then
253 # default channel if none specified
256 chan
="-c $channel_name"
259 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN disable-event
--syscall "$syscall_name" $chan -s $sess_name -k 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
262 if [[ $expected_to_fail -eq "1" ]]; then
264 ok $?
"Disable kernel syscall $syscall_name for session $sess_name on channel $channel_name failed as expected"
266 ok
$ret "Disable kernel syscall $syscall_name for session $sess_name on channel $channel_name"
270 function lttng_disable_kernel_syscall_ok
()
272 lttng_disable_kernel_syscall
0 "$@"
275 function lttng_disable_kernel_syscall_fail
()
277 lttng_disable_kernel_syscall
1 "$@"
280 function lttng_enable_kernel_userspace_probe_event
()
282 local expected_to_fail
="$1"
285 local event_name
="$4"
287 "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" enable-event
--kernel --userspace-probe="$target" "$event_name" -s "$sess_name" > "$OUTPUT_DEST" 2> "$ERROR_OUTPUT_DEST"
289 if [[ $expected_to_fail -eq "1" ]]; then
291 ok $?
"Enable kernel userspace probe event for session $sess_name failed as expected"
293 ok
$ret "Enable kernel userspace probe event for session $sess_name"
297 function lttng_enable_kernel_userspace_probe_event_fail
()
299 lttng_enable_kernel_userspace_probe_event
1 "$@"
302 function lttng_enable_kernel_userspace_probe_event_ok
()
304 lttng_enable_kernel_userspace_probe_event
0 "$@"
307 function disable_kernel_lttng_userspace_probe_event_ok
()
310 local event_name
="$2"
312 "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" disable-event
--kernel "$event_name" -s "$sess_name" > "$OUTPUT_DEST" 2> "$ERROR_OUTPUT_DEST"
313 ok $?
"Disable kernel event $target for session $sess_name"
315 function lttng_enable_kernel_channel
()
318 local expected_to_fail
=$2
320 local channel_name
=$4
323 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-channel
-k $channel_name -s $sess_name $opt 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
325 if [[ $expected_to_fail -eq "1" ]]; then
328 if [ $withtap -eq "1" ]; then
329 ok
$ret "Enable channel $channel_name for session $sess_name failed as expected"
332 if [ $withtap -eq "1" ]; then
333 ok
$ret "Enable channel $channel_name for session $sess_name"
338 function lttng_enable_kernel_channel_ok
()
340 lttng_enable_kernel_channel
1 0 "$@"
343 function lttng_enable_kernel_channel_fail
()
345 lttng_enable_kernel_channel
1 1 "$@"
348 function lttng_enable_kernel_channel_notap
()
350 lttng_enable_kernel_channel
0 0 "$@"
353 function enable_kernel_lttng_channel_ok
()
355 lttng_enable_kernel_channel
1 0 "$@"
358 function lttng_disable_kernel_channel
()
360 local expected_to_fail
=$1
362 local channel_name
=$3
364 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN disable-channel
-k $channel_name -s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
366 if [[ $expected_to_fail -eq "1" ]]; then
368 ok $?
"Disable channel $channel_name for session $sess_name failed as expected"
370 ok
$ret "Disable channel $channel_name for session $sess_name"
374 function lttng_disable_kernel_channel_ok
()
376 lttng_disable_kernel_channel
0 "$@"
379 function lttng_disable_kernel_channel_fail
()
381 lttng_disable_kernel_channel
1 "$@"
384 function start_lttng_relayd_opt
()
389 DIR
=$
(readlink
-f "$TESTDIR")
391 if [ -z "$(pgrep "$RELAYD_MATCH")" ]; then
392 # shellcheck disable=SC2086
393 "$DIR/../src/bin/lttng-relayd/$RELAYD_BIN" -b $opt 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
394 #"$DIR/../src/bin/lttng-relayd/$RELAYD_BIN" $opt -vvv >>/tmp/relayd.log 2>&1 &
395 if [ $?
-eq 1 ]; then
396 if [ "$withtap" -eq "1" ]; then
397 fail
"Start lttng-relayd (opt: $opt)"
401 if [ "$withtap" -eq "1" ]; then
402 pass
"Start lttng-relayd (opt: $opt)"
406 pass
"Start lttng-relayd (opt: $opt)"
410 function start_lttng_relayd
()
412 start_lttng_relayd_opt
1 "$@"
415 function start_lttng_relayd_notap
()
417 start_lttng_relayd_opt
0 "$@"
420 function stop_lttng_relayd_opt
()
425 if [ -z "$signal" ]; then
432 # Multiply time by 2 to simplify integer arithmetic
433 if [ -n "$timeout_s" ]; then
434 dtimeleft_s
=$
((timeout_s
* 2))
440 pids
=$
(pgrep
"$RELAYD_MATCH")
441 if [ -z "$pids" ]; then
442 if [ "$withtap" -eq "1" ]; then
443 pass
"No relay daemon to kill"
448 diag
"Killing (signal $signal) lttng-relayd (pid: $pids)"
450 # shellcheck disable=SC2086
451 if ! kill -s $signal $pids 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST; then
453 if [ "$withtap" -eq "1" ]; then
454 fail
"Kill relay daemon"
458 while [ -n "$out" ]; do
459 out
=$
(pgrep
"$RELAYD_MATCH")
460 if [ -n "$dtimeleft_s" ]; then
461 if [ $dtimeleft_s -lt 0 ]; then
465 dtimeleft_s
=$
((dtimeleft_s
- 1))
469 if [ "$withtap" -eq "1" ]; then
470 if [ "$retval" -eq "0" ]; then
471 pass
"Wait after kill relay daemon"
473 fail
"Wait after kill relay daemon"
480 function stop_lttng_relayd
()
482 stop_lttng_relayd_opt
1 "$@"
485 function stop_lttng_relayd_notap
()
487 stop_lttng_relayd_opt
0 "$@"
490 #First arg: show tap output
491 #Second argument: load path for automatic loading
492 function start_lttng_sessiond_opt
()
500 local long_bit_value
=
501 long_bit_value
=$
(getconf LONG_BIT
)
503 if [ -n "$TEST_NO_SESSIOND" ] && [ "$TEST_NO_SESSIOND" == "1" ]; then
504 # Env variable requested no session daemon
508 DIR
=$
(readlink
-f "$TESTDIR")
510 # Get long_bit value for 32/64 consumerd
511 case "$long_bit_value" in
513 consumerd
="--consumerd32-path=$DIR/../src/bin/lttng-consumerd/lttng-consumerd"
516 consumerd
="--consumerd64-path=$DIR/../src/bin/lttng-consumerd/lttng-consumerd"
523 # Check for env. variable. Allow the use of LD_PRELOAD etc.
524 if [[ "x${LTTNG_SESSIOND_ENV_VARS}" != "x" ]]; then
525 env_vars
="${LTTNG_SESSIOND_ENV_VARS} "
527 env_vars
="${env_vars}$DIR/../src/bin/lttng-sessiond/$SESSIOND_BIN"
529 if ! validate_kernel_version
; then
530 fail
"Start session daemon"
531 BAIL_OUT
"*** Kernel too old for session daemon tests ***"
534 : "${LTTNG_SESSION_CONFIG_XSD_PATH="${DIR}/../src/common/config/"}"
535 export LTTNG_SESSION_CONFIG_XSD_PATH
537 if [ -z "$(pgrep "${SESSIOND_MATCH}")" ]; then
539 if [ -n "$load_path" ]; then
540 # shellcheck disable=SC2086
541 env
$env_vars --load "$load_path" --background "$consumerd"
543 # shellcheck disable=SC2086
544 env
$env_vars --background "$consumerd"
546 #$DIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --background --consumerd32-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" --verbose-consumer >>/tmp/sessiond.log 2>&1
548 if [ "$withtap" -eq "1" ]; then
549 ok
$status "Start session daemon"
554 function start_lttng_sessiond
()
556 start_lttng_sessiond_opt
1 "$@"
559 function start_lttng_sessiond_notap
()
561 start_lttng_sessiond_opt
0 "$@"
564 function stop_lttng_sessiond_opt
()
569 if [ -z "$signal" ]; then
576 # Multiply time by 2 to simplify integer arithmetic
577 if [ -n "$timeout_s" ]; then
578 dtimeleft_s
=$
((timeout_s
* 2))
581 if [ -n "$TEST_NO_SESSIOND" ] && [ "$TEST_NO_SESSIOND" == "1" ]; then
582 # Env variable requested no session daemon
589 runas_pids
=$
(pgrep
"$RUNAS_MATCH")
592 pids
=$
(pgrep
"$SESSIOND_MATCH")
594 if [ -n "$runas_pids" ]; then
595 pids
="$pids $runas_pids"
598 if [ -z "$pids" ]; then
599 if [ "$withtap" -eq "1" ]; then
600 pass
"No session daemon to kill"
605 diag
"Killing (signal $signal) $SESSIOND_BIN and lt-$SESSIOND_BIN pids: $(echo "$pids" | tr '\n' ' ')"
607 # shellcheck disable=SC2086
608 if ! kill -s $signal $pids 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST; then
610 if [ "$withtap" -eq "1" ]; then
611 fail
"Kill sessions daemon"
615 while [ -n "$out" ]; do
616 out
=$
(pgrep
"${SESSIOND_MATCH}")
617 if [ -n "$dtimeleft_s" ]; then
618 if [ $dtimeleft_s -lt 0 ]; then
622 dtimeleft_s
=$
((dtimeleft_s
- 1))
627 while [ -n "$out" ]; do
628 out
=$
(pgrep
"$CONSUMERD_MATCH")
629 if [ -n "$dtimeleft_s" ]; then
630 if [ $dtimeleft_s -lt 0 ]; then
634 dtimeleft_s
=$
((dtimeleft_s
- 1))
639 if [ "$withtap" -eq "1" ]; then
640 if [ "$retval" -eq "0" ]; then
641 pass
"Wait after kill session daemon"
643 fail
"Wait after kill session daemon"
647 if [ "$signal" = "SIGKILL" ]; then
648 if [ "$(id -u)" -eq "0" ]; then
650 modules
="$(lsmod | grep ^lttng | awk '{print $1}')"
652 if [ -n "$modules" ]; then
653 diag
"Unloading all LTTng modules"
654 modprobe
-r "$modules"
662 function stop_lttng_sessiond
()
664 stop_lttng_sessiond_opt
1 "$@"
667 function stop_lttng_sessiond_notap
()
669 stop_lttng_sessiond_opt
0 "$@"
672 function sigstop_lttng_sessiond_opt
()
677 if [ -n "$TEST_NO_SESSIOND" ] && [ "$TEST_NO_SESSIOND" == "1" ]; then
678 # Env variable requested no session daemon
682 PID_SESSIOND
="$(pgrep "${SESSIOND_MATCH}") $(pgrep "$RUNAS_MATCH")"
684 if [ "$withtap" -eq "1" ]; then
685 diag
"Sending SIGSTOP to lt-$SESSIOND_BIN and $SESSIOND_BIN pids: $(echo "$PID_SESSIOND" | tr '\n' ' ')"
688 # shellcheck disable=SC2086
689 if ! kill -s $signal $PID_SESSIOND 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST; then
690 if [ "$withtap" -eq "1" ]; then
691 fail
"Sending SIGSTOP to session daemon"
695 while [ $out -ne 0 ]; do
696 pid
="$(pgrep "$SESSIOND_MATCH")"
698 # Wait until state becomes stopped for session
701 for sessiond_pid
in $pid; do
702 state
="$(ps -p "$sessiond_pid" -o state= )"
703 if [[ -n "$state" && "$state" != "T" ]]; then
709 if [ "$withtap" -eq "1" ]; then
710 pass
"Sending SIGSTOP to session daemon"
715 function sigstop_lttng_sessiond
()
717 sigstop_lttng_sessiond_opt
1 "$@"
720 function sigstop_lttng_sessiond_notap
()
722 sigstop_lttng_sessiond_opt
0 "$@"
725 function stop_lttng_consumerd_opt
()
730 if [ -z "$signal" ]; then
737 # Multiply time by 2 to simplify integer arithmetic
738 if [ -n "$timeout_s" ]; then
739 dtimeleft_s
=$
((timeout_s
* 2))
744 PID_CONSUMERD
="$(pgrep "$CONSUMERD_MATCH")"
746 if [ -z "$PID_CONSUMERD" ]; then
747 if [ "$withtap" -eq "1" ]; then
748 pass
"No consumer daemon to kill"
753 diag
"Killing (signal $signal) $CONSUMERD_BIN pids: $(echo "$PID_CONSUMERD" | tr '\n' ' ')"
755 # shellcheck disable=SC2086
756 if ! kill -s $signal $PID_CONSUMERD 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST; then
758 if [ "$withtap" -eq "1" ]; then
759 fail
"Kill consumer daemon"
763 while [ $out -ne 0 ]; do
764 pid
="$(pgrep "$CONSUMERD_MATCH")"
766 # If consumerds are still present check their status.
767 # A zombie status qualifies the consumerd as *killed*
769 for consumer_pid
in $pid; do
770 state
="$(ps -p "$consumer_pid" -o state= )"
771 if [[ -n "$state" && "$state" != "Z" ]]; then
775 if [ -n "$dtimeleft_s" ]; then
776 if [ $dtimeleft_s -lt 0 ]; then
780 dtimeleft_s
=$
((dtimeleft_s
- 1))
784 if [ "$withtap" -eq "1" ]; then
785 if [ "$retval" -eq "0" ]; then
786 pass
"Wait after kill consumer daemon"
788 fail
"Wait after kill consumer daemon"
796 function stop_lttng_consumerd
()
798 stop_lttng_consumerd_opt
1 "$@"
801 function stop_lttng_consumerd_notap
()
803 stop_lttng_consumerd_opt
0 "$@"
806 function sigstop_lttng_consumerd_opt
()
811 PID_CONSUMERD
="$(pgrep "$CONSUMERD_MATCH")"
813 diag
"Sending SIGSTOP to $CONSUMERD_BIN pids: $(echo "$PID_CONSUMERD" | tr '\n' ' ')"
815 # shellcheck disable=SC2086
816 kill -s $signal $PID_CONSUMERD 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
819 if [ $retval -eq 1 ]; then
820 if [ "$withtap" -eq "1" ]; then
821 fail
"Sending SIGSTOP to consumer daemon"
826 while [ $out -ne 0 ]; do
827 pid
="$(pgrep "$CONSUMERD_MATCH")"
829 # Wait until state becomes stopped for all
832 for consumer_pid
in $pid; do
833 state
="$(ps -p "$consumer_pid" -o state= )"
834 if [[ -n "$state" && "$state" != "T" ]]; then
840 if [ "$withtap" -eq "1" ]; then
841 pass
"Sending SIGSTOP to consumer daemon"
847 function sigstop_lttng_consumerd
()
849 sigstop_lttng_consumerd_opt
1 "$@"
852 function sigstop_lttng_consumerd_notap
()
854 sigstop_lttng_consumerd_opt
0 "$@"
857 function list_lttng_with_opts
()
860 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN list
$opts 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
861 ok $?
"Lttng-tool list command with option $opts"
864 function create_lttng_session_no_output
()
869 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN create
$sess_name --no-output $opts 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
870 ok $?
"Create session $sess_name in no-output mode"
873 function create_lttng_session_uri
() {
878 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN create
$sess_name -U $uri $opts 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
879 ok $?
"Create session $sess_name with uri:$uri and opts: $opts"
882 function create_lttng_session
()
885 local expected_to_fail
=$2
890 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN create
$sess_name -o $trace_path $opt > $OUTPUT_DEST
892 if [ $expected_to_fail -eq "1" ]; then
895 if [ $withtap -eq "1" ]; then
896 ok
$ret "Create session $sess_name in $trace_path failed as expected"
899 if [ $withtap -eq "1" ]; then
900 ok
$ret "Create session $sess_name in $trace_path"
906 function create_lttng_session_ok
()
908 create_lttng_session
1 0 "$@"
911 function create_lttng_session_fail
()
913 create_lttng_session
1 1 "$@"
916 function create_lttng_session_notap
()
918 create_lttng_session
0 0 "$@"
922 function enable_ust_lttng_channel
()
925 local expected_to_fail
=$2
927 local channel_name
=$4
930 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-channel
-u $channel_name -s $sess_name $opt 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
932 if [[ $expected_to_fail -eq "1" ]]; then
935 if [ $withtap -eq "1" ]; then
936 ok
$ret "Enable channel $channel_name for session $sess_name failed as expected"
939 if [ $withtap -eq "1" ]; then
940 ok
$ret "Enable channel $channel_name for session $sess_name"
946 function enable_ust_lttng_channel_ok
()
948 enable_ust_lttng_channel
1 0 "$@"
951 function enable_ust_lttng_channel_fail
()
953 enable_ust_lttng_channel
1 1 "$@"
956 function enable_ust_lttng_channel_notap
()
958 enable_ust_lttng_channel
0 0 "$@"
961 function disable_ust_lttng_channel
()
964 local channel_name
=$2
966 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN disable-channel
-u $channel_name -s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
967 ok $?
"Disable channel $channel_name for session $sess_name"
970 function enable_lttng_mmap_overwrite_kernel_channel
()
973 local channel_name
=$2
975 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-channel
-s $sess_name $channel_name -k --output mmap
--overwrite 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
976 ok $?
"Enable channel $channel_name for session $sess_name"
979 function enable_lttng_mmap_discard_small_kernel_channel
()
982 local channel_name
=$2
984 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-channel
-s $sess_name $channel_name -k --output mmap
--discard --subbuf-size=$
(getconf PAGE_SIZE
) --num-subbuf=2 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
985 ok $?
"Enable small discard channel $channel_name for session $sess_name"
988 function enable_lttng_mmap_overwrite_small_kernel_channel
()
991 local channel_name
=$2
993 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-channel
-s $sess_name $channel_name -k --output mmap
--overwrite --subbuf-size=$
(getconf PAGE_SIZE
) --num-subbuf=2 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
994 ok $?
"Enable small discard channel $channel_name for session $sess_name"
997 function enable_lttng_mmap_overwrite_ust_channel
()
1000 local channel_name
=$2
1002 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-channel
-s $sess_name $channel_name -u --output mmap
--overwrite 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1003 ok $?
"Enable channel $channel_name for session $sess_name"
1006 function enable_ust_lttng_event
()
1009 local expected_to_fail
=$2
1011 local event_name
="$4"
1012 local channel_name
=$5
1014 if [ -z $channel_name ]; then
1015 # default channel if none specified
1018 chan
="-c $channel_name"
1021 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" $chan -s $sess_name -u 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1023 if [[ $expected_to_fail -eq "1" ]]; then
1026 if [[ $withtap -eq "1" ]]; then
1027 ok
$ret "Enable ust event $event_name for session $session_name failed as expected"
1030 if [[ $withtap -eq "1" ]]; then
1031 ok
$ret "Enable ust event $event_name for session $sess_name"
1037 function enable_ust_lttng_event_ok
()
1039 enable_ust_lttng_event
1 0 "$@"
1042 function enable_ust_lttng_event_fail
()
1044 enable_ust_lttng_event
1 1 "$@"
1047 function enable_ust_lttng_event_notap
()
1049 enable_ust_lttng_event
0 0 "$@"
1052 function enable_jul_lttng_event
()
1058 if [ -z $channel_name ]; then
1059 # default channel if none specified
1062 chan
="-c $channel_name"
1065 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" $chan -s $sess_name -j 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1066 ok $?
"Enable JUL event $event_name for session $sess_name"
1069 function enable_jul_lttng_event_loglevel
()
1072 local event_name
="$2"
1074 local channel_name
=$4
1076 if [ -z $channel_name ]; then
1077 # default channel if none specified
1080 chan
="-c $channel_name"
1083 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
--loglevel $loglevel "$event_name" $chan -s $sess_name -j 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1084 ok $?
"Enable JUL event $event_name for session $sess_name with loglevel $loglevel"
1087 function enable_log4j_lttng_event
()
1093 if [ -z $channel_name ]; then
1094 # default channel if none specified
1097 chan
="-c $channel_name"
1100 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" $chan -s $sess_name -l 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1101 ok $?
"Enable LOG4J event $event_name for session $sess_name"
1104 function enable_log4j_lttng_event_loglevel
()
1107 local event_name
="$2"
1109 local channel_name
=$4
1111 if [ -z $channel_name ]; then
1112 # default channel if none specified
1115 chan
="-c $channel_name"
1118 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
--loglevel $loglevel "$event_name" $chan -s $sess_name -l 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1119 ok $?
"Enable LOG4J event $event_name for session $sess_name with loglevel $loglevel"
1122 function enable_python_lttng_event
()
1128 if [ -z $channel_name ]; then
1129 # default channel if none specified
1132 chan
="-c $channel_name"
1135 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" $chan -s $sess_name -p 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1136 ok $?
"Enable Python event $event_name for session $sess_name"
1139 function enable_python_lttng_event_loglevel
()
1142 local event_name
="$2"
1144 local channel_name
=$4
1146 if [ -z $channel_name ]; then
1147 # default channel if none specified
1150 chan
="-c $channel_name"
1153 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
--loglevel $loglevel "$event_name" $chan -s $sess_name -p 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1154 ok $?
"Enable Python event $event_name for session $sess_name with loglevel $loglevel"
1157 function enable_ust_lttng_event_filter
()
1159 local sess_name
="$1"
1160 local event_name
="$2"
1163 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" -s $sess_name -u --filter "$filter" 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1164 ok $?
"Enable event $event_name with filtering for session $sess_name"
1167 function enable_ust_lttng_event_loglevel
()
1169 local sess_name
="$1"
1170 local event_name
="$2"
1173 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" -s $sess_name -u --loglevel $loglevel 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1174 ok $?
"Enable event $event_name with loglevel $loglevel"
1177 function enable_ust_lttng_event_loglevel_only
()
1179 local sess_name
="$1"
1180 local event_name
="$2"
1183 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" -s $sess_name -u --loglevel-only $loglevel 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1184 ok $?
"Enable event $event_name with loglevel-only $loglevel"
1187 function disable_ust_lttng_event
()
1189 local sess_name
="$1"
1190 local event_name
="$2"
1191 local channel_name
="$3"
1193 if [ -z $channel_name ]; then
1194 # default channel if none specified
1197 chan
="-c $channel_name"
1200 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN disable-event
"$event_name" -s $sess_name $chan -u 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1201 ok $?
"Disable event $event_name for session $sess_name"
1204 function disable_jul_lttng_event
()
1206 local sess_name
="$1"
1207 local event_name
="$2"
1209 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN disable-event
"$event_name" -s $sess_name -j >/dev
/null
2>&1
1210 ok $?
"Disable JUL event $event_name for session $sess_name"
1213 function disable_log4j_lttng_event
()
1215 local sess_name
="$1"
1216 local event_name
="$2"
1218 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN disable-event
"$event_name" -s $sess_name -l >/dev
/null
2>&1
1219 ok $?
"Disable LOG4J event $event_name for session $sess_name"
1222 function disable_python_lttng_event
()
1224 local sess_name
="$1"
1225 local event_name
="$2"
1227 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN disable-event
"$event_name" -s $sess_name -p 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1228 ok $?
"Disable Python event $event_name for session $sess_name"
1231 function start_lttng_tracing_opt
()
1234 local expected_to_fail
=$2
1237 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN start
$sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1239 if [[ $expected_to_fail -eq "1" ]]; then
1242 if [ $withtap -eq "1" ]; then
1243 ok $?
"Start tracing for session $sess_name failed as expected"
1246 if [ $withtap -eq "1" ]; then
1247 ok
$ret "Start tracing for session $sess_name"
1252 function start_lttng_tracing_ok
()
1254 start_lttng_tracing_opt
1 0 "$@"
1257 function start_lttng_tracing_fail
()
1259 start_lttng_tracing_opt
1 1 "$@"
1262 function start_lttng_tracing_notap
()
1264 start_lttng_tracing_opt
0 1 "$@"
1267 function stop_lttng_tracing_opt
()
1270 local expected_to_fail
=$2
1273 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN stop
$sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1275 if [[ $expected_to_fail -eq "1" ]]; then
1278 if [ $withtap -eq "1" ]; then
1279 ok $?
"Stop lttng tracing for session $sess_name failed as expected"
1282 if [ $withtap -eq "1" ]; then
1283 ok
$ret "Stop lttng tracing for session $sess_name"
1288 function stop_lttng_tracing_ok
()
1290 stop_lttng_tracing_opt
1 0 "$@"
1293 function stop_lttng_tracing_fail
()
1295 stop_lttng_tracing_opt
1 1 "$@"
1298 function stop_lttng_tracing_notap
()
1300 stop_lttng_tracing_opt
0 0 "$@"
1303 function destroy_lttng_session
()
1306 local expected_to_fail
=$2
1309 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN destroy
$sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1311 if [[ $expected_to_fail -eq "1" ]]; then
1314 if [ $withtap -eq "1" ]; then
1315 ok
$ret "Destroy session $sess_name failed as expected"
1318 if [ $withtap -eq "1" ]; then
1319 ok
$ret "Destroy session $sess_name"
1324 function destroy_lttng_session_ok
()
1326 destroy_lttng_session
1 0 "$@"
1330 function destroy_lttng_session_fail
()
1332 destroy_lttng_session
1 1 "$@"
1335 function destroy_lttng_session_notap
()
1337 destroy_lttng_session
0 0 "$@"
1340 function destroy_lttng_sessions
()
1342 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN destroy
--all 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1343 ok $?
"Destroy all lttng sessions"
1346 function lttng_snapshot_add_output
()
1348 local expected_to_fail
=$1
1352 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN snapshot add-output
-s $sess_name $trace_path 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1354 if [[ $expected_to_fail -eq 1 ]]; then
1356 ok $?
"Added snapshot output file://$trace_path failed as expected"
1358 ok
$ret "Added snapshot output file://$trace_path"
1362 function lttng_snapshot_add_output_ok
()
1364 lttng_snapshot_add_output
0 "$@"
1367 function lttng_snapshot_add_output_fail
()
1369 lttng_snapshot_add_output
1 "$@"
1372 function lttng_snapshot_del_output
()
1374 local expected_to_fail
=$1
1378 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN snapshot del-output
-s $sess_name $id 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1380 if [[ $expected_to_fail -eq "1" ]]; then
1382 ok $?
"Deleted snapshot output id $id failed as expected"
1384 ok
$ret "Deleted snapshot output id $id"
1388 function lttng_snapshot_del_output_ok
()
1390 lttng_snapshot_del_output
0 "$@"
1393 function lttng_snapshot_del_output_fail
()
1395 lttng_snapshot_del_output
1 "$@"
1398 function lttng_snapshot_record
()
1403 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN snapshot record
-s $sess_name $trace_path 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1404 ok $?
"Snapshot recorded"
1407 function lttng_snapshot_list
()
1410 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN snapshot list-output
-s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1411 ok $?
"Snapshot list"
1414 function lttng_save
()
1419 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN save
$sess_name $opts 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1420 ok $?
"Session saved"
1423 function lttng_load
()
1425 local expected_to_fail
=$1
1428 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN load
$opts 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1430 if [[ $expected_to_fail -eq "1" ]]; then
1432 ok $?
"Load command failed as expected with opts: $opts"
1434 ok
$ret "Load command with opts: $opts"
1438 function lttng_load_ok
()
1443 function lttng_load_fail
()
1448 function lttng_track
()
1450 local expected_to_fail
=$1
1452 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN track
$opts >$OUTPUT_DEST
1454 if [[ $expected_to_fail -eq "1" ]]; then
1456 ok $?
"Track command failed as expected with opts: $opts"
1458 ok
$ret "Track command with opts: $opts"
1462 function lttng_track_ok
()
1467 function lttng_track_fail
()
1472 function lttng_untrack
()
1474 local expected_to_fail
=$1
1476 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN untrack
$opts >$OUTPUT_DEST
1478 if [[ $expected_to_fail -eq "1" ]]; then
1480 ok $?
"Untrack command failed as expected with opts: $opts"
1482 ok
$ret "Untrack command with opts: $opts"
1486 function lttng_untrack_ok
()
1488 lttng_untrack
0 "$@"
1491 function lttng_untrack_fail
()
1493 lttng_untrack
1 "$@"
1496 function lttng_track_pid_ok
()
1499 "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" track
--kernel --pid=$PID 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1500 ok $?
"Lttng track pid on the kernel domain"
1503 function lttng_untrack_kernel_all_ok
()
1505 "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" untrack
--kernel --pid --all 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1506 ok $?
"Lttng untrack all pid on the kernel domain"
1509 function lttng_add_context_list
()
1511 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN add-context
--list 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1513 ok
$ret "Context listing"
1516 function add_context_lttng
()
1518 local expected_to_fail
="$1"
1520 local session_name
="$3"
1521 local channel_name
="$4"
1524 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN add-context
-s $session_name -c $channel_name -t $type $domain 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1526 if [[ $expected_to_fail -eq "1" ]]; then
1528 ok $?
"Add context command failed as expected for type: $type"
1530 ok
$ret "Add context command for type: $type"
1534 function add_context_ust_ok
()
1536 add_context_lttng
0 -u "$@"
1539 function add_context_ust_fail
()
1541 add_context_lttng
1 -u "$@"
1544 function add_context_kernel_ok
()
1546 add_context_lttng
0 -k "$@"
1549 function add_context_kernel_fail
()
1551 add_context_lttng
1 -k "$@"
1554 function validate_metadata_event
()
1557 local nr_event_id
=$2
1560 local metadata_file
=$
(find $trace_path |
grep metadata
)
1561 local metadata_path
=$
(dirname $metadata_file)
1563 which $BABELTRACE_BIN >/dev
/null
1564 skip $?
-ne 0 "Babeltrace binary not found. Skipping trace matches"
1566 local count
=$
($BABELTRACE_BIN --output-format=ctf-metadata
$metadata_path |
grep $event_name |
wc -l)
1568 if [ "$count" -ne "$nr_event_id" ]; then
1569 fail
"Metadata match with the metadata of $count event(s) named $event_name"
1570 diag
"$count matching event id found in metadata"
1572 pass
"Metadata match with the metadata of $count event(s) named $event_name"
1577 function trace_matches
()
1583 which $BABELTRACE_BIN >/dev
/null
1584 skip $?
-ne 0 "Babeltrace binary not found. Skipping trace matches"
1586 local count
=$
($BABELTRACE_BIN $trace_path |
grep $event_name |
wc -l)
1588 if [ "$count" -ne "$nr_iter" ]; then
1590 diag
"$count matching events found in trace"
1596 function trace_match_only
()
1602 which $BABELTRACE_BIN >/dev
/null
1603 skip $?
-ne 0 "Babeltrace binary not found. Skipping trace matches"
1605 local count
=$
($BABELTRACE_BIN $trace_path |
grep $event_name |
wc -l)
1606 local total
=$
($BABELTRACE_BIN $trace_path |
wc -l)
1608 if [ "$nr_iter" -eq "$count" ] && [ "$total" -eq "$nr_iter" ]; then
1609 pass
"Trace match with $total event $event_name"
1612 diag
"$total event(s) found, expecting $nr_iter of event $event_name and only found $count"
1616 function validate_trace
1621 which $BABELTRACE_BIN >/dev
/null
1622 if [ $?
-ne 0 ]; then
1623 skip
0 "Babeltrace binary not found. Skipping trace validation"
1628 for i
in $event_name; do
1629 traced
=$
($BABELTRACE_BIN $trace_path 2>/dev
/null |
grep $i |
wc -l)
1630 if [ "$traced" -ne 0 ]; then
1631 pass
"Validate trace for event $i, $traced events"
1633 fail
"Validate trace for event $i"
1634 diag
"Found $traced occurences of $i"
1642 function validate_trace_count
1646 local expected_count
=$3
1648 which $BABELTRACE_BIN >/dev
/null
1649 if [ $?
-ne 0 ]; then
1650 skip
0 "Babeltrace binary not found. Skipping trace validation"
1656 for i
in $event_name; do
1657 traced
=$
($BABELTRACE_BIN $trace_path 2>/dev
/null |
grep $i |
wc -l)
1658 if [ "$traced" -ne 0 ]; then
1659 pass
"Validate trace for event $i, $traced events"
1661 fail
"Validate trace for event $i"
1662 diag
"Found $traced occurences of $i"
1664 cnt
=$
(($cnt + $traced))
1667 test $cnt -eq $expected_count
1668 ok $?
"Read a total of $cnt events, expected $expected_count"
1671 function trace_first_line
1675 which $BABELTRACE_BIN >/dev
/null
1676 if [ $?
-ne 0 ]; then
1677 skip
0 "Babeltrace binary not found. Skipping trace validation"
1680 $BABELTRACE_BIN $trace_path 2>/dev
/null |
head -n 1
1683 function validate_trace_exp
()
1688 which $BABELTRACE_BIN >/dev
/null
1689 skip $?
-ne 0 "Babeltrace binary not found. Skipping trace validation"
1691 traced
=$
($BABELTRACE_BIN $trace_path 2>/dev
/null |
grep --extended-regexp ${event_exp} |
wc -l)
1692 if [ "$traced" -ne 0 ]; then
1693 pass
"Validate trace for expression '${event_exp}', $traced events"
1695 fail
"Validate trace for expression '${event_exp}'"
1696 diag
"Found $traced occurences of '${event_exp}'"
1702 function validate_trace_only_exp
()
1707 which $BABELTRACE_BIN >/dev
/null
1708 skip $?
-ne 0 "Babeltrace binary not found. Skipping trace matches"
1710 local count
=$
($BABELTRACE_BIN $trace_path |
grep --extended-regexp ${event_exp} |
wc -l)
1711 local total
=$
($BABELTRACE_BIN $trace_path |
wc -l)
1713 if [ "$count" -ne 0 ] && [ "$total" -eq "$count" ]; then
1714 pass
"Trace match with $total for expression '${event_exp}'"
1717 diag
"$total syscall event(s) found, only syscalls matching expression '${event_exp}' ($count occurrences) are expected"
1723 function validate_trace_empty
()
1727 which $BABELTRACE_BIN >/dev
/null
1728 if [ $?
-ne 0 ]; then
1729 skip
0 "Babeltrace binary not found. Skipping trace validation"
1732 events
=$
($BABELTRACE_BIN $trace_path 2>/dev
/null
)
1734 if [ $ret -ne 0 ]; then
1735 fail
"Failed to parse trace"
1739 traced
=$
(echo -n "$events" |
wc -l)
1740 if [ "$traced" -eq 0 ]; then
1741 pass
"Validate empty trace"
1743 fail
"Validate empty trace"
1744 diag
"Found $traced events in trace"
1750 function regenerate_metadata
()
1752 local expected_to_fail
=$1
1755 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN regenerate metadata
-s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1757 if [[ $expected_to_fail -eq "1" ]]; then
1759 ok $?
"Expected fail on regenerate metadata $sess_name"
1761 ok
$ret "Metadata regenerate $sess_name"
1765 function regenerate_metadata_ok
()
1767 regenerate_metadata
0 "$@"
1770 function regenerate_metadata_fail
()
1772 regenerate_metadata
1 "$@"
1775 function regenerate_statedump
()
1777 local expected_to_fail
=$1
1780 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN regenerate statedump
-s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1782 if [[ $expected_to_fail -eq "1" ]]; then
1784 ok $?
"Expected fail on regenerate statedump $sess_name"
1786 ok
$ret "Metadata regenerate $sess_name"
1790 function regenerate_statedump_ok
()
1792 regenerate_statedump
0 "$@"
1795 function regenerate_statedump_fail
()
1797 regenerate_statedump
1 "$@"
1800 function rotate_session
()
1802 local expected_to_fail
=$1
1805 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN rotate
$sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1807 if [[ $expected_to_fail -eq "1" ]]; then
1809 ok $?
"Expected fail on rotate session $sess_name"
1811 ok
$ret "Rotate session $sess_name"
1815 function rotate_session_ok
()
1817 rotate_session
0 "$@"
1820 function rotate_session_fail
()
1822 rotate_session
1 "$@"
1825 function destructive_tests_enabled
()
1827 if [ ${LTTNG_ENABLE_DESTRUCTIVE_TESTS} = "will-break-my-system" ]; then
1834 function lttng_enable_rotation_timer
()
1836 local expected_to_fail
=$1
1840 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-rotation
-s $sess_name --timer $period 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1842 if [[ $expected_to_fail -eq "1" ]]; then
1844 ok $?
"Expected fail when setting periodic rotation ($period) of session $sess_name"
1846 ok
$ret "Set periodic rotation ($period) of session $sess_name"
1850 function lttng_enable_rotation_timer_ok
()
1852 lttng_enable_rotation_timer
0 $@
1855 function lttng_enable_rotation_timer_fail
()
1857 lttng_enable_rotation_timer
1 $@
1860 function lttng_enable_rotation_size
()
1862 local expected_to_fail
=$1
1866 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-rotation
-s $sess_name --size $size 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
1868 if [[ $expected_to_fail -eq "1" ]]; then
1870 ok $?
"Expected fail on rotate session $sess_name"
1872 ok
$ret "Rotate session $sess_name"
1876 function lttng_enable_rotation_size_ok
()
1878 lttng_enable_rotation_size
0 $@
1881 function lttng_enable_rotation_size_fail
()
1883 lttng_enable_rotation_size
1 $@