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
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
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"