echo
}
+# Check if base lttng-modules are present.
+# Bail out on failure
+function validate_lttng_modules_present ()
+{
+ modprobe -n lttng-tracer 2>/dev/null
+ if [ $? -ne 0 ]; then
+ BAIL_OUT "LTTng modules not detected."
+ fi
+}
+
function enable_kernel_lttng_event
{
local withtap="$1"
ok $? "Create session $sess_name in no-output mode"
}
+function create_lttng_session_uri () {
+ local sess_name=$1
+ local uri=$2
+ local opts="${@:3}"
+
+ $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $sess_name -U $uri $opts 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+ ok $? "Create session $sess_name with uri:$uri and opts: $opts"
+}
+
function create_lttng_session ()
{
local withtap=$1
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"
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
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
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 $@
+}