3 # Copyright (C) 2013 Christian Babeux <christian.babeux@efficios.com>
4 # Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
6 # SPDX-License-Identifier: GPL-2.0-only
9 TEST_DESC
="Kernel tracer - System calls"
15 # `gen-syscall-event` starts and waits for the creation a file passed by
16 # arguments to start executing 3 syscalls (open,read,close) and returning.
17 TESTCMD
="$TESTDIR/utils/testapp/gen-syscall-events/gen-syscall-events"
19 source $TESTDIR/utils
/utils.sh
21 function trace_testapp
()
23 local start_file_sync
=$
(mktemp
--tmpdir -u -t "tmp.${FUNCNAME[0]}_sync_start.XXXXXX")
25 # Clear all entries from the resource tracker
26 lttng_untrack_kernel_all_ok
28 # Launch the testapp and save its Process ID
29 .
/"$TESTCMD" "$start_file_sync" "/proc/cpuinfo" "/proc/cmdline" &
32 # Set LTTng to track this PID and start the tracing
33 lttng_track_pid_ok
$PID
35 start_lttng_tracing_ok
37 # Create start file to launch the execution of the workload by the
39 touch "$start_file_sync"
45 # Clean up the synchronization file
46 rm -f "$start_file_sync"
49 function validate_list
()
55 out
=$
($TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN list
$session_name $opt |
grep $event_name)
56 if [ -z "$out" ]; then
57 fail
"Validate syscall listing"
58 diag
"$event_name not found when listing $session_name (opt $opt)"
60 pass
"Validate syscall listing. Found $event_name."
64 function test_syscall_event_list
()
66 local EVENT_NAME
="getpid"
68 diag
"Syscall event listing"
70 validate_list
"" $EVENT_NAME "-k --syscall"
73 function test_syscall_simple_list
()
75 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
76 SESSION_NAME
="kernel_syscall_simple_list"
77 local EVENT_NAME
="close"
79 diag
"Syscall simple listing"
81 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
83 lttng_enable_kernel_syscall_ok
$SESSION_NAME $EVENT_NAME
85 validate_list
$SESSION_NAME $EVENT_NAME
89 # ensure all events are in the trace.
90 validate_trace_exp
"-e syscall_entry_$EVENT_NAME: -e compat_syscall_entry_$EVENT_NAME:" $TRACE_PATH
91 validate_trace_exp
"-e syscall_exit_$EVENT_NAME: -e compat_syscall_exit_$EVENT_NAME:" $TRACE_PATH
93 # ensure trace only contains those.
94 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
96 destroy_lttng_session_ok
$SESSION_NAME
101 function test_syscall_simple_list_two
()
103 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
104 SESSION_NAME
="kernel_syscall_simple_list_two"
105 local EVENT_NAME
="close"
106 local EVENT_NAME2
="read"
108 diag
"Syscall simple listing"
110 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
112 lttng_enable_kernel_syscall_ok
$SESSION_NAME $EVENT_NAME
113 lttng_enable_kernel_syscall_ok
$SESSION_NAME $EVENT_NAME2
115 validate_list
$SESSION_NAME $EVENT_NAME
116 validate_list
$SESSION_NAME $EVENT_NAME2
120 # ensure all events are in the trace.
121 validate_trace_exp
"-e syscall_entry_$EVENT_NAME: -e compat_syscall_entry_$EVENT_NAME:" $TRACE_PATH
122 validate_trace_exp
"-e syscall_exit_$EVENT_NAME: -e compat_syscall_exit_$EVENT_NAME:" $TRACE_PATH
124 validate_trace_exp
"-e syscall_entry_$EVENT_NAME2: -e compat_syscall_entry_$EVENT_NAME2:" $TRACE_PATH
125 validate_trace_exp
"-e syscall_exit_$EVENT_NAME2: -e compat_syscall_exit_$EVENT_NAME2:" $TRACE_PATH
127 # ensure trace only contains those.
128 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
130 destroy_lttng_session_ok
$SESSION_NAME
135 function test_syscall_single
()
137 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
138 SESSION_NAME
="kernel_syscall_single"
140 diag
"Syscall trace single"
142 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
144 lttng_enable_kernel_syscall_ok
$SESSION_NAME "openat"
148 # ensure all events are in the trace.
149 validate_trace_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
150 validate_trace_exp
"-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
152 # ensure trace only contains those.
153 validate_trace_only_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
155 destroy_lttng_session_ok
$SESSION_NAME
160 function test_syscall_two
()
162 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
163 SESSION_NAME
="kernel_syscall_two"
165 diag
"Syscall trace two events"
167 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
169 lttng_enable_kernel_syscall_ok
$SESSION_NAME "openat"
170 lttng_enable_kernel_syscall_ok
$SESSION_NAME "close"
174 # ensure all events are in the trace.
175 validate_trace_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
176 validate_trace_exp
"-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
177 validate_trace_exp
"-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
178 validate_trace_exp
"-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
180 # ensure trace only contains those.
181 validate_trace_only_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat: -e syscall_entry_close: -e compat_syscall_entry_close: -e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
183 destroy_lttng_session_ok
$SESSION_NAME
188 function test_syscall_all
()
190 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
191 SESSION_NAME
="kernel_syscall_all"
193 diag
"Syscall trace all events"
195 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
197 # enable all syscalls
198 lttng_enable_kernel_syscall_ok
$SESSION_NAME
202 # ensure at least open and close are there.
203 validate_trace_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
204 validate_trace_exp
"-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
205 validate_trace_exp
"-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
206 validate_trace_exp
"-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
207 # trace may contain other syscalls.
209 destroy_lttng_session_ok
$SESSION_NAME
214 function test_syscall_all_disable_one
()
216 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
217 SESSION_NAME
="kernel_syscall_all_disable_one"
219 diag
"Syscall trace all events and disable one"
221 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
223 # enable all syscalls
224 lttng_enable_kernel_syscall_ok
$SESSION_NAME
225 # try to disable open system call: fails because enabler semantic of
226 # "all syscalls" is not "the open" system call.
227 lttng_disable_kernel_syscall_fail
$SESSION_NAME "openat"
231 # ensure "openat" syscall is there.
232 validate_trace_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
234 # ensure "close" syscall is there.
235 validate_trace_exp
"-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
236 validate_trace_exp
"-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
238 destroy_lttng_session_ok
$SESSION_NAME
243 function test_syscall_all_disable_two
()
245 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
246 SESSION_NAME
="kernel_syscall_all_disable_two"
248 diag
"Syscall trace all events and disable two"
250 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
252 # enable all syscalls
253 lttng_enable_kernel_syscall_ok
$SESSION_NAME
254 # try to disable open and close system calls: fails because enabler
255 # semantic of "all syscalls" is not "the open" system call.
256 lttng_disable_kernel_syscall_fail
$SESSION_NAME "openat"
257 lttng_disable_kernel_syscall_fail
$SESSION_NAME "close"
261 # ensure "openat" syscall is there.
262 validate_trace_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
264 # ensure "close" syscall is there.
265 validate_trace_exp
"-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
266 validate_trace_exp
"-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
268 # ensure "read" syscall is there.
269 validate_trace_exp
"-e syscall_entry_read: -e compat_syscall_entry_read:" $TRACE_PATH
270 validate_trace_exp
"-e syscall_exit_read: -e compat_syscall_exit_read:" $TRACE_PATH
272 destroy_lttng_session_ok
$SESSION_NAME
277 function test_syscall_enable_all_disable_all
()
279 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
280 SESSION_NAME
="kernel_syscall_enable_all_disable_all"
282 diag
"Syscall trace all events and disable all"
284 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
286 # enable all system calls
287 lttng_enable_kernel_syscall_ok
$SESSION_NAME
288 # disable all system calls
289 lttng_disable_kernel_syscall_ok
$SESSION_NAME
293 # ensure nothing has been traced.
294 validate_trace_empty
$TRACE_PATH
296 destroy_lttng_session_ok
$SESSION_NAME
301 function test_syscall_enable_all_disable_all_enable_all
()
303 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
304 SESSION_NAME
="kernel_syscall_enable_all_disable_all_enable_all"
306 diag
"Syscall trace all events and enable/disable all"
308 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
310 # enable all system calls
311 lttng_enable_kernel_syscall_ok
$SESSION_NAME
312 # disable all system calls
313 lttng_disable_kernel_syscall_ok
$SESSION_NAME
314 # enable all system calls
315 lttng_enable_kernel_syscall_ok
$SESSION_NAME
319 # ensure at least open and close are there.
320 validate_trace_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
321 validate_trace_exp
"-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
322 validate_trace_exp
"-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
323 validate_trace_exp
"-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
324 # trace may contain other syscalls.
326 destroy_lttng_session_ok
$SESSION_NAME
331 function test_syscall_enable_all_enable_one_disable_all
()
333 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
334 SESSION_NAME
="kernel_syscall_enable_all_enable_one_disable_all"
336 diag
"Syscall trace all events, enable one and disable all"
338 create_lttng_session_ok
$SESSION_NAME "$TRACE_PATH"
340 # enable all syscalls
341 lttng_enable_kernel_syscall_ok
$SESSION_NAME
343 # enable one specific syscall, "openat"
344 lttng_enable_kernel_syscall_ok
$SESSION_NAME openat
346 # disable all syscalls
347 lttng_disable_kernel_syscall_ok
$SESSION_NAME
351 # The trace shouldn't contain any syscalls, disable-all should disable
352 # even individually specified syscalls
353 trace_match_only openat
0 "$TRACE_PATH"
355 destroy_lttng_session_ok
$SESSION_NAME
360 function test_syscall_enable_one_enable_all_disable_one
()
362 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
363 SESSION_NAME
="kernel_syscall_enable_one_enable_all_disable_one"
365 diag
"Syscall trace all events and enable/disable one"
367 create_lttng_session_ok
$SESSION_NAME "$TRACE_PATH"
369 # enable one specific syscall, "openat"
370 lttng_enable_kernel_syscall_ok
$SESSION_NAME openat
372 # enable all syscalls
373 lttng_enable_kernel_syscall_ok
$SESSION_NAME
375 # disable one specific syscall, "openat"
376 lttng_disable_kernel_syscall_ok
$SESSION_NAME openat
380 # The trace should contain all syscalls, including 'openat' because
381 # enable-all overrides individually disabled syscalls.
382 validate_trace openat
"$TRACE_PATH"
384 destroy_lttng_session_ok
$SESSION_NAME
389 function test_syscall_enable_one_enable_all_disable_all_disable_one
()
391 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
392 SESSION_NAME
="kernel_syscall_enable_one_enable_all_disable_all_disable_one"
394 diag
"Syscall trace all events and enable/disable one"
396 create_lttng_session_ok
$SESSION_NAME "$TRACE_PATH"
398 # enable one specific syscall, "openat"
399 lttng_enable_kernel_syscall_ok
$SESSION_NAME openat
401 # enable all syscalls
402 lttng_enable_kernel_syscall_ok
$SESSION_NAME
404 # disable all syscalls
405 lttng_disable_kernel_syscall_ok
$SESSION_NAME
407 # disable one specific syscall, "openat"
408 lttng_disable_kernel_syscall_ok
$SESSION_NAME openat
412 # The trace shouldn't contain any syscalls, disable-all should disable
413 # even individually specified syscalls
414 trace_match_only openat
0 "$TRACE_PATH"
416 destroy_lttng_session_ok
$SESSION_NAME
421 function test_syscall_enable_all_disable_all_twice
()
423 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
424 SESSION_NAME
="kernel_syscall_enable_all_disable_all_twice"
426 diag
"Syscall trace all events and enable/disable all twice"
428 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
430 # enable all system calls
431 lttng_enable_kernel_syscall_ok
$SESSION_NAME
432 # disable all system calls
433 lttng_disable_kernel_syscall_ok
$SESSION_NAME
434 # enable all system calls
435 lttng_enable_kernel_syscall_ok
$SESSION_NAME
436 # disable all system calls
437 lttng_disable_kernel_syscall_ok
$SESSION_NAME
441 # ensure nothing has been traced.
442 validate_trace_empty
$TRACE_PATH
444 destroy_lttng_session_ok
$SESSION_NAME
449 function test_syscall_enable_one_disable_one
()
451 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
452 SESSION_NAME
="kernel_syscall_enable_one_disable_one"
454 diag
"Syscall trace one event and disable one"
456 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
458 # enable open system call
459 lttng_enable_kernel_syscall_ok
$SESSION_NAME "openat"
460 # disable open system call
461 lttng_disable_kernel_syscall_ok
$SESSION_NAME "openat"
465 # ensure nothing has been traced.
466 validate_trace_empty
$TRACE_PATH
468 destroy_lttng_session_ok
$SESSION_NAME
473 function test_syscall_enable_two_disable_two
()
475 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
476 SESSION_NAME
="kernel_syscall_enable_two_disable_two"
478 diag
"Syscall trace two events and disable two"
480 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
482 # enable open and close system calls
483 lttng_enable_kernel_syscall_ok
$SESSION_NAME "openat"
484 lttng_enable_kernel_syscall_ok
$SESSION_NAME "close"
485 # disable open and close system calls
486 lttng_disable_kernel_syscall_ok
$SESSION_NAME "openat"
487 lttng_disable_kernel_syscall_ok
$SESSION_NAME "close"
491 # ensure nothing has been traced.
492 validate_trace_empty
$TRACE_PATH
494 destroy_lttng_session_ok
$SESSION_NAME
499 function test_syscall_enable_two_disable_one
()
501 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
502 SESSION_NAME
="kernel_syscall_enable_two_disable_one"
504 diag
"Syscall trace two events and disable one"
506 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
508 # enable open and close system calls
509 lttng_enable_kernel_syscall_ok
$SESSION_NAME "openat"
510 lttng_enable_kernel_syscall_ok
$SESSION_NAME "close"
511 # disable close system call
512 lttng_disable_kernel_syscall_ok
$SESSION_NAME "close"
516 # ensure open is there.
517 validate_trace_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
518 validate_trace_exp
"-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
520 # ensure trace only contains those.
521 validate_trace_only_exp
"-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
523 destroy_lttng_session_ok
$SESSION_NAME
528 function test_syscall_disable_twice
()
530 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
531 SESSION_NAME
="kernel_syscall_disable_twice"
533 diag
"Syscall trace one event and disable twice"
535 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
537 lttng_enable_kernel_syscall_ok
$SESSION_NAME "openat"
538 # First disable will succeed
539 lttng_disable_kernel_syscall_ok
$SESSION_NAME "openat"
540 # Second disable succeeds too, due to enabler semantic.
541 lttng_disable_kernel_syscall_ok
$SESSION_NAME "openat"
543 destroy_lttng_session_ok
$SESSION_NAME
548 function test_syscall_disable_all_twice
()
550 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
551 SESSION_NAME
="kernel_syscall_disable_all_twice"
553 diag
"Syscall trace all events and disable all twice"
555 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
557 lttng_enable_kernel_syscall_ok
$SESSION_NAME
558 # First disable will succeed
559 lttng_disable_kernel_syscall_ok
$SESSION_NAME
560 # Second disable succeeds too, due to enabler semantic.
561 lttng_disable_kernel_syscall_ok
$SESSION_NAME
563 destroy_lttng_session_ok
$SESSION_NAME
569 function test_syscall_enable_unknown
()
571 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
572 SESSION_NAME
="kernel_syscall_enable_unknown"
574 diag
"Syscall enable an unknown event"
576 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
578 # Enabling a syscall that does not exist succeeds, due to enabler
580 lttng_enable_kernel_syscall_ok
$SESSION_NAME "thissyscallcannotexist"
582 destroy_lttng_session_ok
$SESSION_NAME
587 function test_syscall_enable_all_enable_one
()
589 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
590 SESSION_NAME
="kernel_syscall_enable_all_enable_one"
592 diag
"Syscall enable all and enable one"
594 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
596 lttng_enable_kernel_syscall_ok
$SESSION_NAME
597 # Enabling an event already enabled succeeds, due to enabler semantic.
598 lttng_enable_kernel_syscall_ok
$SESSION_NAME "openat"
600 destroy_lttng_session_ok
$SESSION_NAME
605 function test_syscall_disable_all_disable_one
()
607 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
608 SESSION_NAME
="kernel_syscall_enable_all_enable_one"
610 diag
"Syscall disable all and disable one"
612 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
614 lttng_enable_kernel_syscall_ok
$SESSION_NAME
615 lttng_disable_kernel_syscall_ok
$SESSION_NAME
616 # Disabling an event already disabled fails.
617 lttng_disable_kernel_syscall_fail
$SESSION_NAME "openat"
619 destroy_lttng_session_ok
$SESSION_NAME
624 function test_syscall_enable_channel_disable_all
()
626 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
627 SESSION_NAME
="kernel_syscall_enable_channel_disable_all"
628 CHANNEL_NAME
="channel"
630 diag
"Syscall enable channel and disable all"
632 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
634 lttng_enable_kernel_channel_ok
$SESSION_NAME $CHANNEL_NAME
635 # sessiond semantic for "disable all" is to try to match all enalers
636 # it knowns about. Disable all succeeds if it finds no match.
637 lttng_disable_kernel_syscall_ok
$SESSION_NAME "-a" $CHANNEL_NAME
639 destroy_lttng_session_ok
$SESSION_NAME
644 function test_syscall_enable_channel_disable_one
()
646 local TRACE_PATH
=$
(mktemp
--tmpdir -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
647 SESSION_NAME
="kernel_syscall_enable_channel_disable_all"
648 CHANNEL_NAME
="channel"
650 diag
"Syscall enable channel and disable one"
652 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
654 lttng_enable_kernel_channel_ok
$SESSION_NAME $CHANNEL_NAME
655 lttng_disable_kernel_syscall_fail
$SESSION_NAME "openat" $CHANNEL_NAME
657 destroy_lttng_session_ok
$SESSION_NAME
662 # MUST set TESTDIR before calling those functions
663 plan_tests
$NUM_TESTS
665 print_test_banner
"$TEST_DESC"
667 if [ "$(id -u)" == "0" ]; then
673 skip
$isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
677 test_syscall_event_list
678 test_syscall_simple_list
679 test_syscall_simple_list_two
683 test_syscall_all_disable_one
684 test_syscall_all_disable_two
685 test_syscall_enable_all_disable_all
686 test_syscall_enable_all_disable_all_enable_all
687 test_syscall_enable_all_disable_all_twice
688 test_syscall_enable_all_enable_one_disable_all
689 test_syscall_enable_one_enable_all_disable_one
690 test_syscall_enable_one_enable_all_disable_all_disable_one
691 test_syscall_enable_one_disable_one
692 test_syscall_enable_two_disable_two
693 test_syscall_enable_two_disable_one
694 test_syscall_disable_twice
695 test_syscall_disable_all_twice
696 test_syscall_enable_unknown
697 test_syscall_enable_all_enable_one
698 test_syscall_disable_all_disable_one
699 test_syscall_enable_channel_disable_all
700 test_syscall_enable_channel_disable_one