Tests: event notifier error counters
[lttng-tools.git] / tests / utils / utils.sh
index 1a6ea3c424016e4ecca9fa76f1726a168d39839d..4ef4c72645b39294fada49b4eaf60c71efc91da4 100644 (file)
@@ -100,7 +100,7 @@ function lttng_pgrep ()
 
        while IFS= read -r pid ; do
                # /proc/pid/cmdline is null separated.
-               if full_command_no_argument=$(cut -d '' -f 1 < /proc/"$pid"/cmdline); then
+               if full_command_no_argument=$(cut -d '' -f 1 2>/dev/null < /proc/"$pid"/cmdline); then
                        command_basename=$(basename "$full_command_no_argument")
                        if grep -q "$pattern" <<< "$command_basename"; then
                                echo "$pid"
@@ -325,6 +325,28 @@ function lttng_disable_kernel_syscall_fail()
        lttng_disable_kernel_syscall 1 "$@"
 }
 
+function lttng_enable_kernel_function_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 --function="$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 function event for session $sess_name failed as expected"
+       else
+               ok $ret "Enable kernel function event for session $sess_name"
+       fi
+}
+
+function lttng_enable_kernel_function_event_ok ()
+{
+       lttng_enable_kernel_function_event 0 "$@"
+}
+
 function lttng_enable_kernel_userspace_probe_event ()
 {
        local expected_to_fail="$1"
@@ -543,6 +565,9 @@ function start_lttng_sessiond_opt()
        local withtap=$1
        local load_path=$2
 
+       # The rest of the arguments will be passed directly to lttng-sessiond.
+       shift 2
+
        local env_vars=""
        local consumerd=""
 
@@ -587,10 +612,10 @@ function start_lttng_sessiond_opt()
                # Have a load path ?
                if [ -n "$load_path" ]; then
                        # shellcheck disable=SC2086
-                       env $env_vars --load "$load_path" --background "$consumerd"
+                       env $env_vars --load "$load_path" --background "$consumerd" "$@"
                else
                        # shellcheck disable=SC2086
-                       env $env_vars --background "$consumerd"
+                       env $env_vars --background "$consumerd" "$@"
                fi
                #$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
                status=$?
@@ -646,7 +671,9 @@ function stop_lttng_sessiond_opt()
 
        if [ -z "$pids" ]; then
                if [ "$withtap" -eq "1" ]; then
-                       pass "No session daemon to kill"
+                       fail "No session daemon to kill"
+               else
+                       BAIL_OUT "No session daemon to kill"
                fi
                return 0
        fi
@@ -700,7 +727,7 @@ function stop_lttng_sessiond_opt()
 
                        if [ -n "$modules" ]; then
                                diag "Unloading all LTTng modules"
-                               modprobe -r "$modules"
+                               modprobe --remove "$modules"
                        fi
                fi
        fi
@@ -2102,3 +2129,49 @@ function lttng_clear_all ()
        $TESTDIR/../src/bin/lttng/$LTTNG_BIN clear --all 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
        ok $? "Clear all lttng sessions"
 }
+
+function lttng_add_trigger()
+{
+       local expected_to_fail="$1"
+       local trigger_name="$2"
+       shift 2
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN add-trigger --id "$trigger_name" "$@" 1> /dev/null 2> /dev/null
+       ret=$?
+       if [[ $expected_to_fail -eq "1" ]]; then
+               test "$ret" -ne "0"
+               ok $? "Add trigger $trigger_name failed as expected"
+       else
+               ok $ret "Add trigger $trigger_name"
+       fi
+}
+
+function lttng_remove_trigger()
+{
+       local expected_to_fail="$1"
+       local trigger_name="$2"
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN remove-trigger "$trigger_name" 1> /dev/null 2> /dev/null
+       ret=$?
+       if [[ $expected_to_fail -eq "1" ]]; then
+               test "$ret" -ne "0"
+               ok $? "Remove trigger $trigger_name failed as expected"
+       else
+               ok $ret "Remove trigger $trigger_name"
+       fi
+}
+
+function lttng_add_trigger_ok()
+{
+       lttng_add_trigger 0 "$@"
+}
+
+function lttng_add_trigger_fail()
+{
+       lttng_add_trigger 1 "$@"
+}
+
+function lttng_remove_trigger_ok()
+{
+       lttng_remove_trigger 0 "$@"
+}
This page took 0.024188 seconds and 4 git commands to generate.