Tests: metadata env scope values
[lttng-tools.git] / tests / utils / utils.sh
index 71ddaa2cb5ea5a5c0e814eb307d201dcb2189817..c17eb221c5a6e085fc1b443227eda49361c30b5f 100644 (file)
@@ -66,11 +66,24 @@ function full_cleanup ()
        # The '-' before the pid number ($$) indicates 'kill' to signal the
        # whole process group.
        trap - SIGTERM && kill -- -$$
+       exit 1
 }
 
+function null_pipes ()
+{
+       exec 0>/dev/null
+       exec 1>/dev/null
+       exec 2>/dev/null
+}
 
 trap full_cleanup SIGINT SIGTERM
 
+# perl prove closes its child pipes before giving it a chance to run its
+# signal trap handlers. Redirect pipes to /dev/null if SIGPIPE is caught
+# to allow those trap handlers to proceed.
+
+trap null_pipes SIGPIPE
+
 function print_ok ()
 {
        # Check if we are a terminal
@@ -887,7 +900,14 @@ function create_lttng_session ()
        local trace_path=$4
        local opt=$5
 
-       $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $sess_name -o $trace_path $opt > $OUTPUT_DEST
+       if [ -z "$trace_path" ]; then
+               # Use lttng-sessiond default output.
+               trace_path=""
+       else
+               trace_path="-o $trace_path"
+       fi
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN create "$sess_name" $trace_path $opt 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST
        ret=$?
        if [ $expected_to_fail -eq "1" ]; then
                test "$ret" -ne "0"
This page took 0.023605 seconds and 4 git commands to generate.