Tests: lttng-ust-getcpu-override-test cache and error-check sysconf()
[lttng-tools.git] / tests / regression / kernel / test_syscall
index 16df6a895f930f30764ee8f20d5c7ac8f9c152a1..57adad905fca6ce4750bb6c59f534747482910e9 100755 (executable)
@@ -20,7 +20,7 @@ TEST_DESC="Kernel tracer - System calls"
 
 CURDIR=$(dirname $0)/
 TESTDIR=$CURDIR/../..
-NUM_TESTS=155
+NUM_TESTS=157
 
 # test command issues at least open and close system calls
 TESTCMD="cat /proc/cpuinfo > /dev/null"
@@ -59,15 +59,15 @@ function test_syscall_simple_list()
 
        diag "Syscall simple listing"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME $EVENT_NAME
 
        validate_list $SESSION_NAME $EVENT_NAME
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure each is there.
        validate_trace_exp "-e syscall_entry_$EVENT_NAME: -e compat_syscall_entry_$EVENT_NAME:" $TRACE_PATH
@@ -76,7 +76,7 @@ function test_syscall_simple_list()
        # ensure trace only contains those.
        validate_trace_only_exp "-e syscall_entry_$EVENT_NAME: -e compat_syscall_entry_$EVENT_NAME: -e syscall_exit_$EVENT_NAME: -e compat_syscall_exit_$EVENT_NAME:" $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -90,7 +90,7 @@ function test_syscall_simple_list_two()
 
        diag "Syscall simple listing"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME $EVENT_NAME
        lttng_enable_kernel_syscall_ok $SESSION_NAME $EVENT_NAME2
@@ -98,9 +98,9 @@ function test_syscall_simple_list_two()
        validate_list $SESSION_NAME $EVENT_NAME
        validate_list $SESSION_NAME $EVENT_NAME2
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure each is there.
        validate_trace_exp "-e syscall_entry_$EVENT_NAME: -e compat_syscall_entry_$EVENT_NAME:" $TRACE_PATH
@@ -113,7 +113,7 @@ function test_syscall_simple_list_two()
        # ensure trace only contains those.
        validate_trace_only_exp "-e syscall_entry_$EVENT_NAME: -e compat_syscall_entry_$EVENT_NAME: -e syscall_exit_$EVENT_NAME: -e compat_syscall_exit_$EVENT_NAME: -e syscall_entry_$EVENT_NAME2: -e compat_syscall_entry_$EVENT_NAME2: -e syscall_exit_$EVENT_NAME2: -e compat_syscall_exit_$EVENT_NAME2:" $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -125,13 +125,13 @@ function test_syscall_single()
 
        diag "Syscall trace single"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure each is there.
        validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
@@ -140,7 +140,7 @@ function test_syscall_single()
        # ensure trace only contains those.
        validate_trace_only_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -152,14 +152,14 @@ function test_syscall_two()
 
        diag "Syscall trace two events"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
        lttng_enable_kernel_syscall_ok $SESSION_NAME "close"
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure each is there.
        validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
@@ -170,7 +170,7 @@ function test_syscall_two()
        # ensure trace only contains those.
        validate_trace_only_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open: -e syscall_entry_close: -e compat_syscall_entry_close: -e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -182,14 +182,14 @@ function test_syscall_all()
 
        diag "Syscall trace all events"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable all syscalls
        lttng_enable_kernel_syscall_ok $SESSION_NAME
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure at least open and close are there.
        validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
@@ -198,7 +198,7 @@ function test_syscall_all()
        validate_trace_exp "-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
        # trace may contain other syscalls.
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -210,25 +210,26 @@ function test_syscall_all_disable_one()
 
        diag "Syscall trace all events and disable one"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable all syscalls
        lttng_enable_kernel_syscall_ok $SESSION_NAME
-       # disable open system call
-       lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
+       # try to disable open system call: fails because enabler semantic of
+       # "all syscalls" is not "the open" system call.
+       lttng_disable_kernel_syscall_fail $SESSION_NAME "open"
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
-       # ensure "open" syscall is not there.
-       validate_trace_only_exp "-v -e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+       # ensure "open" syscall is there.
+       validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
 
        # ensure "close" syscall is there.
        validate_trace_exp "-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
        validate_trace_exp "-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -240,27 +241,32 @@ function test_syscall_all_disable_two()
 
        diag "Syscall trace all events and disable two"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable all syscalls
        lttng_enable_kernel_syscall_ok $SESSION_NAME
-       # disable open system call
-       lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
-       lttng_disable_kernel_syscall_ok $SESSION_NAME "close"
+       # try to disable open and close system calls: fails because enabler
+       # semantic of "all syscalls" is not "the open" system call.
+       lttng_disable_kernel_syscall_fail $SESSION_NAME "open"
+       lttng_disable_kernel_syscall_fail $SESSION_NAME "close"
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        # generates open, close, execve (at least)
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
-       # ensure "open" and "close" syscalls are not there.
-       validate_trace_only_exp "-v -e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open: -e syscall_entry_close: -e compat_syscall_entry_close: -e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
+       # ensure "open" syscall is there.
+       validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+
+       # ensure "close" syscall is there.
+       validate_trace_exp "-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
+       validate_trace_exp "-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
 
        # ensure "execve" syscall is there.
        validate_trace_exp "-e syscall_entry_execve: -e compat_syscall_entry_execve:" $TRACE_PATH
        validate_trace_exp "-e syscall_exit_execve: -e compat_syscall_exit_execve:" $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -272,22 +278,22 @@ function test_syscall_enable_all_disable_all()
 
        diag "Syscall trace all events and disable all"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable all system calls
        lttng_enable_kernel_syscall_ok $SESSION_NAME
        # disable all system calls
        lttng_disable_kernel_syscall_ok $SESSION_NAME
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        # generates open, close, execve (at least)
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure nothing has been traced.
        validate_trace_empty $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -299,7 +305,7 @@ function test_syscall_enable_all_disable_all_enable_all()
 
        diag "Syscall trace all events and enable/disable all"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable all system calls
        lttng_enable_kernel_syscall_ok $SESSION_NAME
@@ -308,10 +314,10 @@ function test_syscall_enable_all_disable_all_enable_all()
        # enable all system calls
        lttng_enable_kernel_syscall_ok $SESSION_NAME
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        # generates open, close, execve (at least)
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure at least open and close are there.
        validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
@@ -320,7 +326,7 @@ function test_syscall_enable_all_disable_all_enable_all()
        validate_trace_exp "-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
        # trace may contain other syscalls.
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -332,7 +338,7 @@ function test_syscall_enable_all_disable_all_twice()
 
        diag "Syscall trace all events and enable/disable all twice"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable all system calls
        lttng_enable_kernel_syscall_ok $SESSION_NAME
@@ -343,15 +349,15 @@ function test_syscall_enable_all_disable_all_twice()
        # disable all system calls
        lttng_disable_kernel_syscall_ok $SESSION_NAME
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        # generates open, close, execve (at least)
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure nothing has been traced.
        validate_trace_empty $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -363,22 +369,22 @@ function test_syscall_enable_one_disable_one()
 
        diag "Syscall trace one event and disable one"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable open system call
        lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
        # disable open system call
        lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        # generates open, close, execve (at least)
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure nothing has been traced.
        validate_trace_empty $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -390,7 +396,7 @@ function test_syscall_enable_two_disable_two()
 
        diag "Syscall trace two events and disable two"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable open and close system calls
        lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
@@ -399,15 +405,15 @@ function test_syscall_enable_two_disable_two()
        lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
        lttng_disable_kernel_syscall_ok $SESSION_NAME "close"
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        # generates open, close, execve (at least)
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure nothing has been traced.
        validate_trace_empty $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -419,7 +425,7 @@ function test_syscall_enable_two_disable_one()
 
        diag "Syscall trace two events and disable one"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        # enable open and close system calls
        lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
@@ -427,10 +433,10 @@ function test_syscall_enable_two_disable_one()
        # disable close system call
        lttng_disable_kernel_syscall_ok $SESSION_NAME "close"
 
-       start_lttng_tracing
+       start_lttng_tracing_ok
        # generates open, close, execve (at least)
        eval ${TESTCMD}
-       stop_lttng_tracing
+       stop_lttng_tracing_ok
 
        # ensure open is there.
        validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
@@ -439,7 +445,7 @@ function test_syscall_enable_two_disable_one()
        # ensure trace only contains those.
        validate_trace_only_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -451,15 +457,15 @@ function test_syscall_disable_twice()
 
        diag "Syscall trace one event and disable twice"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
        # First disable will succeed
        lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
-       # Second disable will fail
-       lttng_disable_kernel_syscall_fail $SESSION_NAME "open"
+       # Second disable succeeds too, due to enabler semantic.
+       lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -471,15 +477,15 @@ function test_syscall_disable_all_twice()
 
        diag "Syscall trace all events and disable all twice"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME
        # First disable will succeed
        lttng_disable_kernel_syscall_ok $SESSION_NAME
-       # Second disable will fail
-       lttng_disable_kernel_syscall_fail $SESSION_NAME
+       # Second disable succeeds too, due to enabler semantic.
+       lttng_disable_kernel_syscall_ok $SESSION_NAME
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -492,11 +498,13 @@ function test_syscall_enable_unknown()
 
        diag "Syscall enable an unknown event"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
-       lttng_enable_kernel_syscall_fail $SESSION_NAME "thissyscallcannotexist"
+       # Enabling a syscall that does not exist succeeds, due to enabler
+       # semantic.
+       lttng_enable_kernel_syscall_ok $SESSION_NAME "thissyscallcannotexist"
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -508,13 +516,13 @@ function test_syscall_enable_all_enable_one()
 
        diag "Syscall enable all and enable one"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME
-       # Enabling an event already enabled fails.
-       lttng_enable_kernel_syscall_fail $SESSION_NAME "open"
+       # Enabling an event already enabled succeeds, due to enabler semantic.
+       lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -526,14 +534,14 @@ function test_syscall_disable_all_disable_one()
 
        diag "Syscall disable all and disable one"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_syscall_ok $SESSION_NAME
        lttng_disable_kernel_syscall_ok $SESSION_NAME
        # Disabling an event already disabled fails.
        lttng_disable_kernel_syscall_fail $SESSION_NAME "open"
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -546,12 +554,14 @@ function test_syscall_enable_channel_disable_all()
 
        diag "Syscall enable channel and disable all"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $SESSION_NAME $TRACE_PATH
 
        lttng_enable_kernel_channel_ok $SESSION_NAME $CHANNEL_NAME
-       lttng_disable_kernel_syscall_fail $SESSION_NAME "-a" $CHANNEL_NAME
+       # sessiond semantic for "disable all" is to try to match all enalers
+       # it knowns about. Disable all succeeds if it finds no match.
+       lttng_disable_kernel_syscall_ok $SESSION_NAME "-a" $CHANNEL_NAME
 
-       destroy_lttng_session $SESSION_NAME
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
@@ -564,12 +574,12 @@ function test_syscall_enable_channel_disable_one()
 
        diag "Syscall enable channel and disable one"
 
-       create_lttng_session $SESSION_NAME $TRACE_PATH
+       create_lttng_session_ok $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
+       destroy_lttng_session_ok $SESSION_NAME
 
        rm -rf $TRACE_PATH
 }
This page took 0.03214 seconds and 4 git commands to generate.