Tests for the session rotation feature
[lttng-tools.git] / tests / utils / utils.sh
index 567929aa08840f79e251855500b74f7584f36331..c88387dc76d12808dcd7403039a8f36c58ea89e6 100644 (file)
@@ -127,10 +127,11 @@ function conf_proc_count()
 
 function enable_kernel_lttng_event
 {
-       local expected_to_fail="$1"
-       local sess_name="$2"
-       local event_name="$3"
-       local channel_name="$4"
+       local withtap="$1"
+       local expected_to_fail="$2"
+       local sess_name="$3"
+       local event_name="$4"
+       local channel_name="$5"
 
        if [ -z "$event_name" ]; then
                # Enable all event if no event name specified
@@ -148,20 +149,30 @@ function enable_kernel_lttng_event
        ret=$?
        if [[ $expected_to_fail -eq "1" ]]; then
                test $ret -ne "0"
-               ok $? "Enable kernel event $event_name for session $session_name on channel $channel_name failed as expected"
+               ret=$?
+               if [ $withtap -eq "1" ]; then
+                       ok $ret "Enable kernel event $event_name for session $session_name on channel $channel_name failed as expected"
+               fi
        else
-               ok $ret "Enable kernel event $event_name for session $sess_name"
+               if [ $withtap -eq "1" ]; then
+                       ok $ret "Enable kernel event $event_name for session $sess_name"
+               fi
        fi
 }
 
 function enable_kernel_lttng_event_ok ()
 {
-       enable_kernel_lttng_event 0 "$@"
+       enable_kernel_lttng_event 0 "$@"
 }
 
 function enable_kernel_lttng_event_fail ()
 {
-       enable_kernel_lttng_event 1 "$@"
+       enable_kernel_lttng_event 1 1 "$@"
+}
+
+function enable_kernel_lttng_event_notap ()
+{
+       enable_kernel_lttng_event 0 0 "$@"
 }
 
 # Old interface
@@ -251,28 +262,45 @@ function lttng_disable_kernel_syscall_fail()
 
 function lttng_enable_kernel_channel()
 {
-       local expected_to_fail=$1
-       local sess_name=$2
-       local channel_name=$3
+       local withtap=$1
+       local expected_to_fail=$2
+       local sess_name=$3
+       local channel_name=$4
+       local opt=$5
 
-       $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-channel -k $channel_name -s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-channel -k $channel_name -s $sess_name $opt 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
        ret=$?
        if [[ $expected_to_fail -eq "1" ]]; then
                test "$ret" -ne "0"
-               ok $? "Enable channel $channel_name for session $sess_name failed as expected"
+               ret=$?
+               if [ $withtap -eq "1" ]; then
+                       ok $ret "Enable channel $channel_name for session $sess_name failed as expected"
+               fi
        else
-               ok $ret "Enable channel $channel_name for session $sess_name"
+               if [ $withtap -eq "1" ]; then
+                       ok $ret "Enable channel $channel_name for session $sess_name"
+               fi
        fi
 }
 
 function lttng_enable_kernel_channel_ok()
 {
-       lttng_enable_kernel_channel 0 "$@"
+       lttng_enable_kernel_channel 0 "$@"
 }
 
 function lttng_enable_kernel_channel_fail()
 {
-       lttng_enable_kernel_channel 1 "$@"
+       lttng_enable_kernel_channel 1 1 "$@"
+}
+
+function lttng_enable_kernel_channel_notap()
+{
+       lttng_enable_kernel_channel 0 0 "$@"
+}
+
+function enable_kernel_lttng_channel_ok()
+{
+       lttng_enable_kernel_channel 1 0 "$@"
 }
 
 function lttng_disable_kernel_channel()
@@ -1086,30 +1114,40 @@ function stop_lttng_tracing_fail ()
 
 function destroy_lttng_session ()
 {
-       local expected_to_fail=$1
-       local sess_name=$2
+       local withtap=$1
+       local expected_to_fail=$2
+       local sess_name=$3
 
        $TESTDIR/../src/bin/lttng/$LTTNG_BIN destroy $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
        ret=$?
        if [[ $expected_to_fail -eq "1" ]]; then
                test "$ret" -ne "0"
-               ok $? "Destroy session $sess_name failed as expected"
+               ret=$?
+               if [ $withtap -eq "1" ]; then
+                       ok $ret "Destroy session $sess_name failed as expected"
+               fi
        else
-               ok $ret "Destroy session $sess_name"
+               if [ $withtap -eq "1" ]; then
+                       ok $ret "Destroy session $sess_name"
+               fi
        fi
 }
 
 function destroy_lttng_session_ok ()
 {
-       destroy_lttng_session 0 "$@"
+       destroy_lttng_session 0 "$@"
 
 }
 
 function destroy_lttng_session_fail ()
 {
-       destroy_lttng_session 1 "$@"
+       destroy_lttng_session 1 "$@"
 }
 
+function destroy_lttng_session_notap ()
+{
+       destroy_lttng_session 0 0 "$@"
+}
 
 function destroy_lttng_sessions ()
 {
@@ -1267,6 +1305,19 @@ function lttng_untrack_fail()
        lttng_untrack 1 "$@"
 }
 
+function lttng_track_pid_ok()
+{
+       PID=$1
+       "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" track --kernel --pid=$PID 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+       ok $? "Lttng track pid on the kernel domain"
+}
+
+function lttng_untrack_kernel_all_ok()
+{
+       "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" untrack --kernel --pid --all 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+       ok $? "Lttng untrack all pid on the kernel domain"
+}
+
 function add_context_lttng()
 {
        local expected_to_fail="$1"
@@ -1460,7 +1511,14 @@ function validate_trace_empty()
            skip 0 "Babeltrace binary not found. Skipping trace validation"
        fi
 
-       traced=$($BABELTRACE_BIN $trace_path 2>/dev/null | wc -l)
+       events=$($BABELTRACE_BIN $trace_path 2>/dev/null)
+       ret=$?
+       if [ $ret -ne 0 ]; then
+               fail "Failed to parse trace"
+               return $ret
+       fi
+
+       traced=$(echo -n "$events" | wc -l)
        if [ "$traced" -eq 0 ]; then
                pass "Validate empty trace"
        else
@@ -1521,6 +1579,31 @@ function regenerate_statedump_fail ()
        regenerate_statedump 1 "$@"
 }
 
+function rotate_session ()
+{
+       local expected_to_fail=$1
+       local sess_name=$2
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN rotate $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+       ret=$?
+       if [[ $expected_to_fail -eq "1" ]]; then
+               test "$ret" -ne "0"
+               ok $? "Expected fail on rotate session $sess_name"
+       else
+               ok $ret "Rotate session $sess_name"
+       fi
+}
+
+function rotate_session_ok ()
+{
+       rotate_session 0 "$@"
+}
+
+function rotate_session_fail ()
+{
+       rotate_session 1 "$@"
+}
+
 function destructive_tests_enabled ()
 {
        if [ ${LTTNG_ENABLE_DESTRUCTIVE_TESTS} = "will-break-my-system" ]; then
@@ -1529,3 +1612,55 @@ function destructive_tests_enabled ()
                return 1
        fi
 }
+
+function lttng_enable_rotation_timer ()
+{
+       local expected_to_fail=$1
+       local sess_name=$2
+       local period=$3
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-rotation -s $sess_name --timer $period 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+       ret=$?
+       if [[ $expected_to_fail -eq "1" ]]; then
+               test "$ret" -ne "0"
+               ok $? "Expected fail on rotate session $sess_name"
+       else
+               ok $ret "Rotate session $sess_name"
+       fi
+}
+
+function lttng_enable_rotation_timer_ok ()
+{
+       lttng_enable_rotation_timer 0 $@
+}
+
+function lttng_enable_rotation_timer_fail ()
+{
+       lttng_enable_rotation_timer 1 $@
+}
+
+function lttng_enable_rotation_size ()
+{
+       local expected_to_fail=$1
+       local sess_name=$2
+       local size=$3
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-rotation -s $sess_name --size $size 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+       ret=$?
+       if [[ $expected_to_fail -eq "1" ]]; then
+               test "$ret" -ne "0"
+               ok $? "Expected fail on rotate session $sess_name"
+       else
+               ok $ret "Rotate session $sess_name"
+       fi
+}
+
+function lttng_enable_rotation_size_ok ()
+{
+       lttng_enable_rotation_size 0 $@
+}
+
+function lttng_enable_rotation_size_fail ()
+{
+       lttng_enable_rotation_size 1 $@
+}
This page took 0.027835 seconds and 5 git commands to generate.