Test: add disable syscalls when none are enabled
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 24 Sep 2014 16:18:19 +0000 (12:18 -0400)
committerDavid Goulet <dgoulet@efficios.com>
Thu, 25 Sep 2014 15:36:07 +0000 (11:36 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
tests/regression/kernel/test_syscall
tests/utils/utils.sh

index 5e6b7467b284ac130b3f7358d2a604fc226a3e7f..657c5eea26629692f88dff96171e102fc8051858 100755 (executable)
@@ -20,7 +20,7 @@ TEST_DESC="Kernel tracer - System calls"
 
 CURDIR=$(dirname $0)/
 TESTDIR=$CURDIR/../..
-NUM_TESTS=124
+NUM_TESTS=132
 
 # test command issues at least open and close system calls
 TESTCMD="cat /proc/cpuinfo > /dev/null"
@@ -415,6 +415,38 @@ function test_syscall_disable_all_disable_one()
        rm -rf $TRACE_PATH
 }
 
+function test_syscall_enable_channel_disable_all()
+{
+       TRACE_PATH=$(mktemp -d)
+       SESSION_NAME="kernel_syscall_enable_channel_disable_all"
+       CHANNEL_NAME="channel"
+
+       create_lttng_session $SESSION_NAME $TRACE_PATH
+
+       lttng_enable_kernel_channel_ok $SESSION_NAME $CHANNEL_NAME
+       lttng_disable_kernel_syscall_fail $SESSION_NAME "-a" $CHANNEL_NAME
+
+       destroy_lttng_session $SESSION_NAME
+
+       rm -rf $TRACE_PATH
+}
+
+function test_syscall_enable_channel_disable_one()
+{
+       TRACE_PATH=$(mktemp -d)
+       SESSION_NAME="kernel_syscall_enable_channel_disable_all"
+       CHANNEL_NAME="channel"
+
+       create_lttng_session $SESSION_NAME $TRACE_PATH
+
+       lttng_enable_kernel_channel_ok $SESSION_NAME $CHANNEL_NAME
+       lttng_disable_kernel_syscall_fail $SESSION_NAME "open" $CHANNEL_NAME
+
+       destroy_lttng_session $SESSION_NAME
+
+       rm -rf $TRACE_PATH
+}
+
 # MUST set TESTDIR before calling those functions
 plan_tests $NUM_TESTS
 
@@ -446,6 +478,8 @@ skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
        test_syscall_enable_unknown
        test_syscall_enable_all_enable_one
        test_syscall_disable_all_disable_one
+       test_syscall_enable_channel_disable_all
+       test_syscall_enable_channel_disable_one
 
        stop_lttng_sessiond
 }
index 2647769f27106087ecf4f72e0c92d7590b652fa5..e2cd7f881630b3013cb7e40e3990f1f18f64ee24 100644 (file)
@@ -181,6 +181,58 @@ function lttng_disable_kernel_syscall_fail()
        lttng_disable_kernel_syscall 1 ${*}
 }
 
+function lttng_enable_kernel_channel()
+{
+       local expected_to_fail=$1
+       local sess_name=$2
+       local channel_name=$3
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-channel -k $channel_name -s $sess_name >$OUTPUT_DEST
+       ret=$?
+       if [[ $expected_to_fail -eq "1" ]]; then
+               test "$ret" -ne "0"
+               ok $? "Expected failure on kernel channel creation $channel_name in $sess_name"
+       else
+               ok $ret "Enable channel $channel_name for session $sess_name"
+       fi
+}
+
+function lttng_enable_kernel_channel_ok()
+{
+       lttng_enable_kernel_channel 0 ${*}
+}
+
+function lttng_enable_kernel_channel_fail()
+{
+       lttng_enable_kernel_channel 1 ${*}
+}
+
+function lttng_disable_kernel_channel()
+{
+       local expected_to_fail=$1
+       local sess_name=$2
+       local channel_name=$3
+
+       $TESTDIR/../src/bin/lttng/$LTTNG_BIN disable-channel -k $channel_name -s $sess_name >$OUTPUT_DEST
+       ret=$?
+       if [[ $expected_to_fail -eq "1" ]]; then
+               test "$ret" -ne "0"
+               ok $? "Expected failure on kernel channel creation $channel_name in $sess_name"
+       else
+               ok $ret "disable channel $channel_name for session $sess_name"
+       fi
+}
+
+function lttng_disable_kernel_channel_ok()
+{
+       lttng_disable_kernel_channel 0 ${*}
+}
+
+function lttng_disable_kernel_channel_fail()
+{
+       lttng_disable_kernel_channel 1 ${*}
+}
+
 function start_lttng_relayd
 {
        local opt=$1
This page took 0.027302 seconds and 4 git commands to generate.