lttng_disable_kernel_syscall 1 "$@"
}
+function lttng_enable_kernel_userspace_probe_event ()
+{
+ local expected_to_fail="$1"
+ local sess_name="$2"
+ local target="$3"
+ local event_name="$4"
+
+ "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" enable-event --kernel --userspace-probe="$target" "$event_name" -s "$sess_name" > "$OUTPUT_DEST" 2> "$ERROR_OUTPUT_DEST"
+ ret=$?
+ if [[ $expected_to_fail -eq "1" ]]; then
+ test $ret -ne "0"
+ ok $? "Enable kernel userspace probe event for session $sess_name failed as expected"
+ else
+ ok $ret "Enable kernel userspace probe event for session $sess_name"
+ fi
+}
+
+function lttng_enable_kernel_userspace_probe_event_fail ()
+{
+ lttng_enable_kernel_userspace_probe_event 1 "$@"
+}
+
+function lttng_enable_kernel_userspace_probe_event_ok ()
+{
+ lttng_enable_kernel_userspace_probe_event 0 "$@"
+}
+
+function disable_kernel_lttng_userspace_probe_event_ok ()
+{
+ local sess_name="$1"
+ local event_name="$2"
+
+ "$TESTDIR/../src/bin/lttng/$LTTNG_BIN" disable-event --kernel "$event_name" -s "$sess_name" > "$OUTPUT_DEST" 2> "$ERROR_OUTPUT_DEST"
+ ok $? "Disable kernel event $target for session $sess_name"
+}
function lttng_enable_kernel_channel()
{
local withtap=$1
if [ $withtap -eq "1" ]; then
diag "Killing $CONSUMERD_BIN pids: $(echo $PID_CONSUMERD | tr '\n' ' ')"
fi
+
kill $kill_opt $PID_CONSUMERD 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
retval=$?
- set +x
if [ $? -eq 1 ]; then
if [ $withtap -eq "1" ]; then
fi
kill $kill_opt $PID_CONSUMERD 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
retval=$?
- set +x
if [ $? -eq 1 ]; then
if [ $withtap -eq "1" ]; then
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
ok $? "Disable Python event $event_name for session $sess_name"
}
-function start_lttng_tracing ()
+function start_lttng_tracing_opt ()
{
- 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 start $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
ret=$?
if [[ $expected_to_fail -eq "1" ]]; then
test "$ret" -ne "0"
- ok $? "Start tracing for session $sess_name failed as expected"
+ ret=$?
+ if [ $withtap -eq "1" ]; then
+ ok $? "Start tracing for session $sess_name failed as expected"
+ fi
else
- ok $ret "Start tracing for session $sess_name"
+ if [ $withtap -eq "1" ]; then
+ ok $ret "Start tracing for session $sess_name"
+ fi
fi
}
function start_lttng_tracing_ok ()
{
- start_lttng_tracing 0 "$@"
+ start_lttng_tracing_opt 1 0 "$@"
}
function start_lttng_tracing_fail ()
{
- start_lttng_tracing 1 "$@"
+ start_lttng_tracing_opt 1 1 "$@"
}
-function stop_lttng_tracing ()
+function start_lttng_tracing_notap ()
{
- local expected_to_fail=$1
- local sess_name=$2
+ start_lttng_tracing_opt 0 1 "$@"
+}
+
+function stop_lttng_tracing_opt ()
+{
+ local withtap=$1
+ local expected_to_fail=$2
+ local sess_name=$3
$TESTDIR/../src/bin/lttng/$LTTNG_BIN stop $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
ret=$?
if [[ $expected_to_fail -eq "1" ]]; then
test "$ret" -ne "0"
- ok $? "Stop lttng tracing for session $sess_name failed as expected"
+ ret=$?
+ if [ $withtap -eq "1" ]; then
+ ok $? "Stop lttng tracing for session $sess_name failed as expected"
+ fi
else
- ok $ret "Stop lttng tracing for session $sess_name"
+ if [ $withtap -eq "1" ]; then
+ ok $ret "Stop lttng tracing for session $sess_name"
+ fi
fi
}
function stop_lttng_tracing_ok ()
{
- stop_lttng_tracing 0 "$@"
+ stop_lttng_tracing_opt 1 0 "$@"
}
function stop_lttng_tracing_fail ()
{
- stop_lttng_tracing 1 "$@"
+ stop_lttng_tracing_opt 1 1 "$@"
+}
+
+function stop_lttng_tracing_notap ()
+{
+ stop_lttng_tracing_opt 0 0 "$@"
}
function destroy_lttng_session ()
ok $? "Lttng untrack all pid on the kernel domain"
}
+function lttng_add_context_list()
+{
+ $TESTDIR/../src/bin/lttng/$LTTNG_BIN add-context --list 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
+ ret=$?
+ ok $ret "Context listing"
+}
+
function add_context_lttng()
{
local expected_to_fail="$1"
add_context_lttng 1 -k "$@"
}
+function validate_metadata_event ()
+{
+ local event_name=$1
+ local nr_event_id=$2
+ local trace_path=$3
+
+ local metadata_file=$(find $trace_path | grep metadata)
+ local metadata_path=$(dirname $metadata_file)
+
+ which $BABELTRACE_BIN >/dev/null
+ skip $? -ne 0 "Babeltrace binary not found. Skipping trace matches"
+
+ local count=$($BABELTRACE_BIN --output-format=ctf-metadata $metadata_path | grep $event_name | wc -l)
+
+ if [ "$count" -ne "$nr_event_id" ]; then
+ fail "Metadata match with the metadata of $count event(s) named $event_name"
+ diag "$count matching event id found in metadata"
+ else
+ pass "Metadata match with the metadata of $count event(s) named $event_name"
+ fi
+
+}
+
function trace_matches ()
{
local event_name=$1
local count=$($BABELTRACE_BIN $trace_path | grep $event_name | wc -l)
local total=$($BABELTRACE_BIN $trace_path | wc -l)
- if [ "$nr_iter" -eq "$count" ] && [ "$total" -eq "$nr_iter" ]; then
- pass "Trace match with $total event $event_name"
- else
- fail "Trace match"
- diag "$total event(s) found, expecting $nr_iter of event $event_name and only found $count"
- fi
+ if [ "$nr_iter" -eq "$count" ] && [ "$total" -eq "$nr_iter" ]; then
+ pass "Trace match with $total event $event_name"
+ else
+ fail "Trace match"
+ diag "$total event(s) found, expecting $nr_iter of event $event_name and only found $count"
+ fi
}
function validate_trace
which $BABELTRACE_BIN >/dev/null
skip $? -ne 0 "Babeltrace binary not found. Skipping trace validation"
- traced=$($BABELTRACE_BIN $trace_path 2>/dev/null | grep ${event_exp} | wc -l)
+ traced=$($BABELTRACE_BIN $trace_path 2>/dev/null | grep --extended-regexp ${event_exp} | wc -l)
if [ "$traced" -ne 0 ]; then
pass "Validate trace for expression '${event_exp}', $traced events"
else
which $BABELTRACE_BIN >/dev/null
skip $? -ne 0 "Babeltrace binary not found. Skipping trace matches"
- local count=$($BABELTRACE_BIN $trace_path | grep ${event_exp} | wc -l)
+ local count=$($BABELTRACE_BIN $trace_path | grep --extended-regexp ${event_exp} | wc -l)
local total=$($BABELTRACE_BIN $trace_path | wc -l)
if [ "$count" -ne 0 ] && [ "$total" -eq "$count" ]; then
- pass "Trace match with $total for expression '${event_exp}"
+ pass "Trace match with $total for expression '${event_exp}'"
else
fail "Trace match"
diag "$total syscall event(s) found, only syscalls matching expression '${event_exp}' ($count occurrences) are expected"