From 2e729a2598fb34d79a0bd305747019fd6901fb11 Mon Sep 17 00:00:00 2001 From: Andrea Terzolo Date: Fri, 16 Dec 2022 15:45:31 +0100 Subject: [PATCH 1/7] chore: rename test folder from `modern_bpf` to `drivers` Signed-off-by: Andrea Terzolo --- test/{modern_bpf => drivers}/CMakeLists.txt | 0 test/{modern_bpf => drivers}/README.md | 0 test/{modern_bpf => drivers}/event_class/event_class.cpp | 0 test/{modern_bpf => drivers}/event_class/event_class.h | 0 test/{modern_bpf => drivers}/event_class/network_utils.h | 0 test/{modern_bpf => drivers}/flags/capabilities.cpp | 0 test/{modern_bpf => drivers}/flags/flags_definitions.h | 0 test/{modern_bpf => drivers}/helpers/proc_parsing.cpp | 0 test/{modern_bpf => drivers}/helpers/proc_parsing.h | 0 test/{modern_bpf => drivers}/start_tests.cpp | 0 .../test_suites/generic_tracepoints_suite/sched_process_exec.cpp | 0 .../test_suites/generic_tracepoints_suite/sched_process_exit.cpp | 0 .../test_suites/generic_tracepoints_suite/sched_process_fork.cpp | 0 .../test_suites/generic_tracepoints_suite/sched_switch.cpp | 0 .../test_suites/local_suite/ring_buffer.cpp | 0 .../test_suites/syscall_enter_suite/accept4_e.cpp | 0 .../test_suites/syscall_enter_suite/accept_e.cpp | 0 .../test_suites/syscall_enter_suite/bind_e.cpp | 0 .../test_suites/syscall_enter_suite/bpf_e.cpp | 0 .../test_suites/syscall_enter_suite/capset_e.cpp | 0 .../test_suites/syscall_enter_suite/chdir_e.cpp | 0 .../test_suites/syscall_enter_suite/chmod_e.cpp | 0 .../test_suites/syscall_enter_suite/chroot_e.cpp | 0 .../test_suites/syscall_enter_suite/clone3_e.cpp | 0 .../test_suites/syscall_enter_suite/clone_e.cpp | 0 .../test_suites/syscall_enter_suite/close_e.cpp | 0 .../test_suites/syscall_enter_suite/connect_e.cpp | 0 .../test_suites/syscall_enter_suite/copy_file_range_e.cpp | 0 .../test_suites/syscall_enter_suite/creat_e.cpp | 0 .../test_suites/syscall_enter_suite/dup2_e.cpp | 0 .../test_suites/syscall_enter_suite/dup3_e.cpp | 0 .../test_suites/syscall_enter_suite/dup_e.cpp | 0 .../test_suites/syscall_enter_suite/epoll_create1_e.cpp | 0 .../test_suites/syscall_enter_suite/epoll_create_e.cpp | 0 .../test_suites/syscall_enter_suite/eventfd2_e.cpp | 0 .../test_suites/syscall_enter_suite/eventfd_e.cpp | 0 .../test_suites/syscall_enter_suite/execve_e.cpp | 0 .../test_suites/syscall_enter_suite/execveat_e.cpp | 0 .../test_suites/syscall_enter_suite/fchdir_e.cpp | 0 .../test_suites/syscall_enter_suite/fchmod_e.cpp | 0 .../test_suites/syscall_enter_suite/fchmodat_e.cpp | 0 .../test_suites/syscall_enter_suite/fcntl_e.cpp | 0 .../test_suites/syscall_enter_suite/flock_e.cpp | 0 .../test_suites/syscall_enter_suite/fork_e.cpp | 0 .../test_suites/syscall_enter_suite/fsconfig_e.cpp | 0 .../test_suites/syscall_enter_suite/inotify_init1_e.cpp | 0 .../test_suites/syscall_enter_suite/inotify_init_e.cpp | 0 .../test_suites/syscall_enter_suite/ioctl_e.cpp | 0 .../test_suites/syscall_enter_suite/kill_e.cpp | 0 .../test_suites/syscall_enter_suite/link_e.cpp | 0 .../test_suites/syscall_enter_suite/linkat_e.cpp | 0 .../test_suites/syscall_enter_suite/listen_e.cpp | 0 .../test_suites/syscall_enter_suite/mkdir_e.cpp | 0 .../test_suites/syscall_enter_suite/mkdirat_e.cpp | 0 .../test_suites/syscall_enter_suite/mount_e.cpp | 0 .../test_suites/syscall_enter_suite/open_by_handle_at_e.cpp | 0 .../test_suites/syscall_enter_suite/open_e.cpp | 0 .../test_suites/syscall_enter_suite/openat2_e.cpp | 0 .../test_suites/syscall_enter_suite/openat_e.cpp | 0 .../test_suites/syscall_enter_suite/pipe2_e.cpp | 0 .../test_suites/syscall_enter_suite/pipe_e.cpp | 0 .../test_suites/syscall_enter_suite/prlimit64_e.cpp | 0 .../test_suites/syscall_enter_suite/ptrace_e.cpp | 0 .../test_suites/syscall_enter_suite/quotactl_e.cpp | 0 .../test_suites/syscall_enter_suite/recvfrom_e.cpp | 0 .../test_suites/syscall_enter_suite/recvmsg_e.cpp | 0 .../test_suites/syscall_enter_suite/rename_e.cpp | 0 .../test_suites/syscall_enter_suite/renameat2_e.cpp | 0 .../test_suites/syscall_enter_suite/renameat_e.cpp | 0 .../test_suites/syscall_enter_suite/rmdir_e.cpp | 0 .../test_suites/syscall_enter_suite/seccomp_e.cpp | 0 .../test_suites/syscall_enter_suite/sendmsg_e.cpp | 0 .../test_suites/syscall_enter_suite/sendto_e.cpp | 0 .../test_suites/syscall_enter_suite/setgid_e.cpp | 0 .../test_suites/syscall_enter_suite/setns_e.cpp | 0 .../test_suites/syscall_enter_suite/setpgid_e.cpp | 0 .../test_suites/syscall_enter_suite/setresgid_e.cpp | 0 .../test_suites/syscall_enter_suite/setresuid_e.cpp | 0 .../test_suites/syscall_enter_suite/setrlimit_e.cpp | 0 .../test_suites/syscall_enter_suite/setsid_e.cpp | 0 .../test_suites/syscall_enter_suite/setsockopt_e.cpp | 0 .../test_suites/syscall_enter_suite/setuid_e.cpp | 0 .../test_suites/syscall_enter_suite/shutdown_e.cpp | 0 .../test_suites/syscall_enter_suite/signalfd4_e.cpp | 0 .../test_suites/syscall_enter_suite/signalfd_e.cpp | 0 .../test_suites/syscall_enter_suite/socket_e.cpp | 0 .../test_suites/syscall_enter_suite/socketpair_e.cpp | 0 .../test_suites/syscall_enter_suite/symlink_e.cpp | 0 .../test_suites/syscall_enter_suite/symlinkat_e.cpp | 0 .../test_suites/syscall_enter_suite/tgkill_e.cpp | 0 .../test_suites/syscall_enter_suite/timerfd_create_e.cpp | 0 .../test_suites/syscall_enter_suite/tkill_e.cpp | 0 .../test_suites/syscall_enter_suite/umount2_e.cpp | 0 .../test_suites/syscall_enter_suite/unlink_e.cpp | 0 .../test_suites/syscall_enter_suite/unlinkat_e.cpp | 0 .../test_suites/syscall_enter_suite/unshare_e.cpp | 0 .../test_suites/syscall_enter_suite/userfaultfd_e.cpp | 0 .../test_suites/syscall_enter_suite/vfork_e.cpp | 0 .../test_suites/syscall_exit_suite/accept4_x.cpp | 0 .../test_suites/syscall_exit_suite/accept_x.cpp | 0 .../test_suites/syscall_exit_suite/bind_x.cpp | 0 .../test_suites/syscall_exit_suite/bpf_x.cpp | 0 .../test_suites/syscall_exit_suite/capset_x.cpp | 0 .../test_suites/syscall_exit_suite/chdir_x.cpp | 0 .../test_suites/syscall_exit_suite/chmod_x.cpp | 0 .../test_suites/syscall_exit_suite/chroot_x.cpp | 0 .../test_suites/syscall_exit_suite/clone3_x.cpp | 0 .../test_suites/syscall_exit_suite/clone_x.cpp | 0 .../test_suites/syscall_exit_suite/close_x.cpp | 0 .../test_suites/syscall_exit_suite/connect_x.cpp | 0 .../test_suites/syscall_exit_suite/copy_file_range_x.cpp | 0 .../test_suites/syscall_exit_suite/creat_x.cpp | 0 .../test_suites/syscall_exit_suite/dup2_x.cpp | 0 .../test_suites/syscall_exit_suite/dup3_x.cpp | 0 .../test_suites/syscall_exit_suite/dup_x.cpp | 0 .../test_suites/syscall_exit_suite/epoll_create1_x.cpp | 0 .../test_suites/syscall_exit_suite/epoll_create_x.cpp | 0 .../test_suites/syscall_exit_suite/eventfd2_x.cpp | 0 .../test_suites/syscall_exit_suite/eventfd_x.cpp | 0 .../test_suites/syscall_exit_suite/execve_x.cpp | 0 .../test_suites/syscall_exit_suite/execveat_x.cpp | 0 .../test_suites/syscall_exit_suite/fchdir_x.cpp | 0 .../test_suites/syscall_exit_suite/fchmod_x.cpp | 0 .../test_suites/syscall_exit_suite/fchmodat_x.cpp | 0 .../test_suites/syscall_exit_suite/fcntl_x.cpp | 0 .../test_suites/syscall_exit_suite/flock_x.cpp | 0 .../test_suites/syscall_exit_suite/fork_x.cpp | 0 .../test_suites/syscall_exit_suite/fsconfig_x.cpp | 0 .../test_suites/syscall_exit_suite/inotify_init1_x.cpp | 0 .../test_suites/syscall_exit_suite/inotify_init_x.cpp | 0 .../test_suites/syscall_exit_suite/ioctl_x.cpp | 0 .../test_suites/syscall_exit_suite/kill_x.cpp | 0 .../test_suites/syscall_exit_suite/link_x.cpp | 0 .../test_suites/syscall_exit_suite/linkat_x.cpp | 0 .../test_suites/syscall_exit_suite/listen_x.cpp | 0 .../test_suites/syscall_exit_suite/mkdir_x.cpp | 0 .../test_suites/syscall_exit_suite/mkdirat_x.cpp | 0 .../test_suites/syscall_exit_suite/mount_x.cpp | 0 .../test_suites/syscall_exit_suite/open_by_handle_at_x.cpp | 0 .../test_suites/syscall_exit_suite/open_x.cpp | 0 .../test_suites/syscall_exit_suite/openat2_x.cpp | 0 .../test_suites/syscall_exit_suite/openat_x.cpp | 0 .../test_suites/syscall_exit_suite/pipe2_x.cpp | 0 .../test_suites/syscall_exit_suite/pipe_x.cpp | 0 .../test_suites/syscall_exit_suite/prlimit64_x.cpp | 0 .../test_suites/syscall_exit_suite/ptrace_x.cpp | 0 .../test_suites/syscall_exit_suite/quotactl_x.cpp | 0 .../test_suites/syscall_exit_suite/recvfrom_x.cpp | 0 .../test_suites/syscall_exit_suite/recvmsg_x.cpp | 0 .../test_suites/syscall_exit_suite/rename_x.cpp | 0 .../test_suites/syscall_exit_suite/renameat2_x.cpp | 0 .../test_suites/syscall_exit_suite/renameat_x.cpp | 0 .../test_suites/syscall_exit_suite/rmdir_x.cpp | 0 .../test_suites/syscall_exit_suite/seccomp_x.cpp | 0 .../test_suites/syscall_exit_suite/sendmsg_x.cpp | 0 .../test_suites/syscall_exit_suite/sendto_x.cpp | 0 .../test_suites/syscall_exit_suite/setgid_x.cpp | 0 .../test_suites/syscall_exit_suite/setns_x.cpp | 0 .../test_suites/syscall_exit_suite/setpgid_x.cpp | 0 .../test_suites/syscall_exit_suite/setresgid_x.cpp | 0 .../test_suites/syscall_exit_suite/setresuid_x.cpp | 0 .../test_suites/syscall_exit_suite/setrlimit_x.cpp | 0 .../test_suites/syscall_exit_suite/setsid_x.cpp | 0 .../test_suites/syscall_exit_suite/setsockopt_x.cpp | 0 .../test_suites/syscall_exit_suite/setuid_x.cpp | 0 .../test_suites/syscall_exit_suite/shutdown_x.cpp | 0 .../test_suites/syscall_exit_suite/signalfd4_x.cpp | 0 .../test_suites/syscall_exit_suite/signalfd_x.cpp | 0 .../test_suites/syscall_exit_suite/socket_x.cpp | 0 .../test_suites/syscall_exit_suite/socketpair_x.cpp | 0 .../test_suites/syscall_exit_suite/symlink_x.cpp | 0 .../test_suites/syscall_exit_suite/symlinkat_x.cpp | 0 .../test_suites/syscall_exit_suite/tgkill_x.cpp | 0 .../test_suites/syscall_exit_suite/timerfd_create_x.cpp | 0 .../test_suites/syscall_exit_suite/tkill_x.cpp | 0 .../test_suites/syscall_exit_suite/umount2_x.cpp | 0 .../test_suites/syscall_exit_suite/unlink_x.cpp | 0 .../test_suites/syscall_exit_suite/unlinkat_x.cpp | 0 .../test_suites/syscall_exit_suite/unshare_x.cpp | 0 .../test_suites/syscall_exit_suite/userfaultfd_x.cpp | 0 .../test_suites/syscall_exit_suite/vfork_x.cpp | 0 181 files changed, 0 insertions(+), 0 deletions(-) rename test/{modern_bpf => drivers}/CMakeLists.txt (100%) rename test/{modern_bpf => drivers}/README.md (100%) rename test/{modern_bpf => drivers}/event_class/event_class.cpp (100%) rename test/{modern_bpf => drivers}/event_class/event_class.h (100%) rename test/{modern_bpf => drivers}/event_class/network_utils.h (100%) rename test/{modern_bpf => drivers}/flags/capabilities.cpp (100%) rename test/{modern_bpf => drivers}/flags/flags_definitions.h (100%) rename test/{modern_bpf => drivers}/helpers/proc_parsing.cpp (100%) rename test/{modern_bpf => drivers}/helpers/proc_parsing.h (100%) rename test/{modern_bpf => drivers}/start_tests.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/generic_tracepoints_suite/sched_process_exec.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/generic_tracepoints_suite/sched_process_exit.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/generic_tracepoints_suite/sched_process_fork.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/generic_tracepoints_suite/sched_switch.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/local_suite/ring_buffer.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/accept4_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/accept_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/bind_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/bpf_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/capset_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/chdir_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/chmod_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/chroot_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/clone3_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/clone_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/close_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/connect_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/copy_file_range_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/creat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/dup2_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/dup3_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/dup_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/epoll_create1_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/epoll_create_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/eventfd2_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/eventfd_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/execve_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/execveat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/fchdir_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/fchmod_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/fchmodat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/fcntl_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/flock_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/fork_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/fsconfig_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/inotify_init1_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/inotify_init_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/ioctl_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/kill_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/link_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/linkat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/listen_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/mkdir_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/mkdirat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/mount_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/open_by_handle_at_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/open_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/openat2_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/openat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/pipe2_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/pipe_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/prlimit64_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/ptrace_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/quotactl_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/recvfrom_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/recvmsg_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/rename_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/renameat2_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/renameat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/rmdir_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/seccomp_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/sendmsg_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/sendto_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setgid_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setns_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setpgid_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setresgid_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setresuid_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setrlimit_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setsid_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setsockopt_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/setuid_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/shutdown_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/signalfd4_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/signalfd_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/socket_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/socketpair_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/symlink_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/symlinkat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/tgkill_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/timerfd_create_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/tkill_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/umount2_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/unlink_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/unlinkat_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/unshare_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/userfaultfd_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_enter_suite/vfork_e.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/accept4_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/accept_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/bind_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/bpf_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/capset_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/chdir_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/chmod_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/chroot_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/clone3_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/clone_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/close_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/connect_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/copy_file_range_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/creat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/dup2_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/dup3_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/dup_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/epoll_create1_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/epoll_create_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/eventfd2_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/eventfd_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/execve_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/execveat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/fchdir_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/fchmod_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/fchmodat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/fcntl_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/flock_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/fork_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/fsconfig_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/inotify_init1_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/inotify_init_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/ioctl_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/kill_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/link_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/linkat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/listen_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/mkdir_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/mkdirat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/mount_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/open_by_handle_at_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/open_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/openat2_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/openat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/pipe2_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/pipe_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/prlimit64_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/ptrace_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/quotactl_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/recvfrom_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/recvmsg_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/rename_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/renameat2_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/renameat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/rmdir_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/seccomp_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/sendmsg_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/sendto_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setgid_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setns_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setpgid_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setresgid_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setresuid_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setrlimit_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setsid_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setsockopt_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/setuid_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/shutdown_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/signalfd4_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/signalfd_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/socket_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/socketpair_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/symlink_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/symlinkat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/tgkill_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/timerfd_create_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/tkill_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/umount2_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/unlink_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/unlinkat_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/unshare_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/userfaultfd_x.cpp (100%) rename test/{modern_bpf => drivers}/test_suites/syscall_exit_suite/vfork_x.cpp (100%) diff --git a/test/modern_bpf/CMakeLists.txt b/test/drivers/CMakeLists.txt similarity index 100% rename from test/modern_bpf/CMakeLists.txt rename to test/drivers/CMakeLists.txt diff --git a/test/modern_bpf/README.md b/test/drivers/README.md similarity index 100% rename from test/modern_bpf/README.md rename to test/drivers/README.md diff --git a/test/modern_bpf/event_class/event_class.cpp b/test/drivers/event_class/event_class.cpp similarity index 100% rename from test/modern_bpf/event_class/event_class.cpp rename to test/drivers/event_class/event_class.cpp diff --git a/test/modern_bpf/event_class/event_class.h b/test/drivers/event_class/event_class.h similarity index 100% rename from test/modern_bpf/event_class/event_class.h rename to test/drivers/event_class/event_class.h diff --git a/test/modern_bpf/event_class/network_utils.h b/test/drivers/event_class/network_utils.h similarity index 100% rename from test/modern_bpf/event_class/network_utils.h rename to test/drivers/event_class/network_utils.h diff --git a/test/modern_bpf/flags/capabilities.cpp b/test/drivers/flags/capabilities.cpp similarity index 100% rename from test/modern_bpf/flags/capabilities.cpp rename to test/drivers/flags/capabilities.cpp diff --git a/test/modern_bpf/flags/flags_definitions.h b/test/drivers/flags/flags_definitions.h similarity index 100% rename from test/modern_bpf/flags/flags_definitions.h rename to test/drivers/flags/flags_definitions.h diff --git a/test/modern_bpf/helpers/proc_parsing.cpp b/test/drivers/helpers/proc_parsing.cpp similarity index 100% rename from test/modern_bpf/helpers/proc_parsing.cpp rename to test/drivers/helpers/proc_parsing.cpp diff --git a/test/modern_bpf/helpers/proc_parsing.h b/test/drivers/helpers/proc_parsing.h similarity index 100% rename from test/modern_bpf/helpers/proc_parsing.h rename to test/drivers/helpers/proc_parsing.h diff --git a/test/modern_bpf/start_tests.cpp b/test/drivers/start_tests.cpp similarity index 100% rename from test/modern_bpf/start_tests.cpp rename to test/drivers/start_tests.cpp diff --git a/test/modern_bpf/test_suites/generic_tracepoints_suite/sched_process_exec.cpp b/test/drivers/test_suites/generic_tracepoints_suite/sched_process_exec.cpp similarity index 100% rename from test/modern_bpf/test_suites/generic_tracepoints_suite/sched_process_exec.cpp rename to test/drivers/test_suites/generic_tracepoints_suite/sched_process_exec.cpp diff --git a/test/modern_bpf/test_suites/generic_tracepoints_suite/sched_process_exit.cpp b/test/drivers/test_suites/generic_tracepoints_suite/sched_process_exit.cpp similarity index 100% rename from test/modern_bpf/test_suites/generic_tracepoints_suite/sched_process_exit.cpp rename to test/drivers/test_suites/generic_tracepoints_suite/sched_process_exit.cpp diff --git a/test/modern_bpf/test_suites/generic_tracepoints_suite/sched_process_fork.cpp b/test/drivers/test_suites/generic_tracepoints_suite/sched_process_fork.cpp similarity index 100% rename from test/modern_bpf/test_suites/generic_tracepoints_suite/sched_process_fork.cpp rename to test/drivers/test_suites/generic_tracepoints_suite/sched_process_fork.cpp diff --git a/test/modern_bpf/test_suites/generic_tracepoints_suite/sched_switch.cpp b/test/drivers/test_suites/generic_tracepoints_suite/sched_switch.cpp similarity index 100% rename from test/modern_bpf/test_suites/generic_tracepoints_suite/sched_switch.cpp rename to test/drivers/test_suites/generic_tracepoints_suite/sched_switch.cpp diff --git a/test/modern_bpf/test_suites/local_suite/ring_buffer.cpp b/test/drivers/test_suites/local_suite/ring_buffer.cpp similarity index 100% rename from test/modern_bpf/test_suites/local_suite/ring_buffer.cpp rename to test/drivers/test_suites/local_suite/ring_buffer.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/accept4_e.cpp b/test/drivers/test_suites/syscall_enter_suite/accept4_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/accept4_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/accept4_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/accept_e.cpp b/test/drivers/test_suites/syscall_enter_suite/accept_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/accept_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/accept_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/bind_e.cpp b/test/drivers/test_suites/syscall_enter_suite/bind_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/bind_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/bind_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/bpf_e.cpp b/test/drivers/test_suites/syscall_enter_suite/bpf_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/bpf_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/bpf_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/capset_e.cpp b/test/drivers/test_suites/syscall_enter_suite/capset_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/capset_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/capset_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/chdir_e.cpp b/test/drivers/test_suites/syscall_enter_suite/chdir_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/chdir_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/chdir_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/chmod_e.cpp b/test/drivers/test_suites/syscall_enter_suite/chmod_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/chmod_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/chmod_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/chroot_e.cpp b/test/drivers/test_suites/syscall_enter_suite/chroot_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/chroot_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/chroot_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/clone3_e.cpp b/test/drivers/test_suites/syscall_enter_suite/clone3_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/clone3_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/clone3_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/clone_e.cpp b/test/drivers/test_suites/syscall_enter_suite/clone_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/clone_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/clone_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/close_e.cpp b/test/drivers/test_suites/syscall_enter_suite/close_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/close_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/close_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/connect_e.cpp b/test/drivers/test_suites/syscall_enter_suite/connect_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/connect_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/connect_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/copy_file_range_e.cpp b/test/drivers/test_suites/syscall_enter_suite/copy_file_range_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/copy_file_range_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/copy_file_range_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/creat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/creat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/creat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/creat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/dup2_e.cpp b/test/drivers/test_suites/syscall_enter_suite/dup2_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/dup2_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/dup2_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/dup3_e.cpp b/test/drivers/test_suites/syscall_enter_suite/dup3_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/dup3_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/dup3_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/dup_e.cpp b/test/drivers/test_suites/syscall_enter_suite/dup_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/dup_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/dup_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/epoll_create1_e.cpp b/test/drivers/test_suites/syscall_enter_suite/epoll_create1_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/epoll_create1_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/epoll_create1_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/epoll_create_e.cpp b/test/drivers/test_suites/syscall_enter_suite/epoll_create_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/epoll_create_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/epoll_create_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/eventfd2_e.cpp b/test/drivers/test_suites/syscall_enter_suite/eventfd2_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/eventfd2_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/eventfd2_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/eventfd_e.cpp b/test/drivers/test_suites/syscall_enter_suite/eventfd_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/eventfd_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/eventfd_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/execve_e.cpp b/test/drivers/test_suites/syscall_enter_suite/execve_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/execve_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/execve_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/execveat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/execveat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/execveat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/execveat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/fchdir_e.cpp b/test/drivers/test_suites/syscall_enter_suite/fchdir_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/fchdir_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/fchdir_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/fchmod_e.cpp b/test/drivers/test_suites/syscall_enter_suite/fchmod_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/fchmod_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/fchmod_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/fchmodat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/fchmodat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/fchmodat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/fchmodat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/fcntl_e.cpp b/test/drivers/test_suites/syscall_enter_suite/fcntl_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/fcntl_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/fcntl_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/flock_e.cpp b/test/drivers/test_suites/syscall_enter_suite/flock_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/flock_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/flock_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/fork_e.cpp b/test/drivers/test_suites/syscall_enter_suite/fork_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/fork_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/fork_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/fsconfig_e.cpp b/test/drivers/test_suites/syscall_enter_suite/fsconfig_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/fsconfig_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/fsconfig_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/inotify_init1_e.cpp b/test/drivers/test_suites/syscall_enter_suite/inotify_init1_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/inotify_init1_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/inotify_init1_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/inotify_init_e.cpp b/test/drivers/test_suites/syscall_enter_suite/inotify_init_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/inotify_init_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/inotify_init_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/ioctl_e.cpp b/test/drivers/test_suites/syscall_enter_suite/ioctl_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/ioctl_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/ioctl_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/kill_e.cpp b/test/drivers/test_suites/syscall_enter_suite/kill_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/kill_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/kill_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/link_e.cpp b/test/drivers/test_suites/syscall_enter_suite/link_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/link_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/link_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/linkat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/linkat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/linkat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/linkat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/listen_e.cpp b/test/drivers/test_suites/syscall_enter_suite/listen_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/listen_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/listen_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/mkdir_e.cpp b/test/drivers/test_suites/syscall_enter_suite/mkdir_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/mkdir_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/mkdir_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/mkdirat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/mkdirat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/mkdirat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/mkdirat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/mount_e.cpp b/test/drivers/test_suites/syscall_enter_suite/mount_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/mount_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/mount_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/open_by_handle_at_e.cpp b/test/drivers/test_suites/syscall_enter_suite/open_by_handle_at_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/open_by_handle_at_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/open_by_handle_at_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/open_e.cpp b/test/drivers/test_suites/syscall_enter_suite/open_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/open_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/open_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/openat2_e.cpp b/test/drivers/test_suites/syscall_enter_suite/openat2_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/openat2_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/openat2_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/openat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/openat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/openat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/openat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/pipe2_e.cpp b/test/drivers/test_suites/syscall_enter_suite/pipe2_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/pipe2_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/pipe2_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/pipe_e.cpp b/test/drivers/test_suites/syscall_enter_suite/pipe_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/pipe_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/pipe_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/prlimit64_e.cpp b/test/drivers/test_suites/syscall_enter_suite/prlimit64_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/prlimit64_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/prlimit64_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/ptrace_e.cpp b/test/drivers/test_suites/syscall_enter_suite/ptrace_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/ptrace_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/ptrace_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/quotactl_e.cpp b/test/drivers/test_suites/syscall_enter_suite/quotactl_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/quotactl_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/quotactl_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/recvfrom_e.cpp b/test/drivers/test_suites/syscall_enter_suite/recvfrom_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/recvfrom_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/recvfrom_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/recvmsg_e.cpp b/test/drivers/test_suites/syscall_enter_suite/recvmsg_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/recvmsg_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/recvmsg_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/rename_e.cpp b/test/drivers/test_suites/syscall_enter_suite/rename_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/rename_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/rename_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/renameat2_e.cpp b/test/drivers/test_suites/syscall_enter_suite/renameat2_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/renameat2_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/renameat2_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/renameat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/renameat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/renameat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/renameat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/rmdir_e.cpp b/test/drivers/test_suites/syscall_enter_suite/rmdir_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/rmdir_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/rmdir_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/seccomp_e.cpp b/test/drivers/test_suites/syscall_enter_suite/seccomp_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/seccomp_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/seccomp_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/sendmsg_e.cpp b/test/drivers/test_suites/syscall_enter_suite/sendmsg_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/sendmsg_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/sendmsg_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/sendto_e.cpp b/test/drivers/test_suites/syscall_enter_suite/sendto_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/sendto_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/sendto_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setgid_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setgid_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setgid_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setgid_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setns_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setns_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setns_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setns_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setpgid_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setpgid_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setpgid_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setpgid_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setresgid_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setresgid_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setresgid_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setresgid_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setresuid_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setresuid_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setresuid_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setresuid_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setrlimit_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setrlimit_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setrlimit_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setrlimit_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setsid_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setsid_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setsid_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setsid_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setsockopt_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setsockopt_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setsockopt_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setsockopt_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/setuid_e.cpp b/test/drivers/test_suites/syscall_enter_suite/setuid_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/setuid_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/setuid_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/shutdown_e.cpp b/test/drivers/test_suites/syscall_enter_suite/shutdown_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/shutdown_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/shutdown_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/signalfd4_e.cpp b/test/drivers/test_suites/syscall_enter_suite/signalfd4_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/signalfd4_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/signalfd4_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/signalfd_e.cpp b/test/drivers/test_suites/syscall_enter_suite/signalfd_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/signalfd_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/signalfd_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/socket_e.cpp b/test/drivers/test_suites/syscall_enter_suite/socket_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/socket_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/socket_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/socketpair_e.cpp b/test/drivers/test_suites/syscall_enter_suite/socketpair_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/socketpair_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/socketpair_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/symlink_e.cpp b/test/drivers/test_suites/syscall_enter_suite/symlink_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/symlink_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/symlink_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/symlinkat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/symlinkat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/symlinkat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/symlinkat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/tgkill_e.cpp b/test/drivers/test_suites/syscall_enter_suite/tgkill_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/tgkill_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/tgkill_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/timerfd_create_e.cpp b/test/drivers/test_suites/syscall_enter_suite/timerfd_create_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/timerfd_create_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/timerfd_create_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/tkill_e.cpp b/test/drivers/test_suites/syscall_enter_suite/tkill_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/tkill_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/tkill_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/umount2_e.cpp b/test/drivers/test_suites/syscall_enter_suite/umount2_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/umount2_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/umount2_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/unlink_e.cpp b/test/drivers/test_suites/syscall_enter_suite/unlink_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/unlink_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/unlink_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/unlinkat_e.cpp b/test/drivers/test_suites/syscall_enter_suite/unlinkat_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/unlinkat_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/unlinkat_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/unshare_e.cpp b/test/drivers/test_suites/syscall_enter_suite/unshare_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/unshare_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/unshare_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/userfaultfd_e.cpp b/test/drivers/test_suites/syscall_enter_suite/userfaultfd_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/userfaultfd_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/userfaultfd_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_enter_suite/vfork_e.cpp b/test/drivers/test_suites/syscall_enter_suite/vfork_e.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_enter_suite/vfork_e.cpp rename to test/drivers/test_suites/syscall_enter_suite/vfork_e.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/accept4_x.cpp b/test/drivers/test_suites/syscall_exit_suite/accept4_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/accept4_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/accept4_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/accept_x.cpp b/test/drivers/test_suites/syscall_exit_suite/accept_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/accept_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/accept_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/bind_x.cpp b/test/drivers/test_suites/syscall_exit_suite/bind_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/bind_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/bind_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/bpf_x.cpp b/test/drivers/test_suites/syscall_exit_suite/bpf_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/bpf_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/bpf_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/capset_x.cpp b/test/drivers/test_suites/syscall_exit_suite/capset_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/capset_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/capset_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/chdir_x.cpp b/test/drivers/test_suites/syscall_exit_suite/chdir_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/chdir_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/chdir_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/chmod_x.cpp b/test/drivers/test_suites/syscall_exit_suite/chmod_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/chmod_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/chmod_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/chroot_x.cpp b/test/drivers/test_suites/syscall_exit_suite/chroot_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/chroot_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/chroot_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/clone3_x.cpp b/test/drivers/test_suites/syscall_exit_suite/clone3_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/clone3_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/clone3_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/clone_x.cpp b/test/drivers/test_suites/syscall_exit_suite/clone_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/clone_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/clone_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/close_x.cpp b/test/drivers/test_suites/syscall_exit_suite/close_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/close_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/close_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/connect_x.cpp b/test/drivers/test_suites/syscall_exit_suite/connect_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/connect_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/connect_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/copy_file_range_x.cpp b/test/drivers/test_suites/syscall_exit_suite/copy_file_range_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/copy_file_range_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/copy_file_range_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/creat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/creat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/creat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/creat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/dup2_x.cpp b/test/drivers/test_suites/syscall_exit_suite/dup2_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/dup2_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/dup2_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/dup3_x.cpp b/test/drivers/test_suites/syscall_exit_suite/dup3_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/dup3_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/dup3_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/dup_x.cpp b/test/drivers/test_suites/syscall_exit_suite/dup_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/dup_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/dup_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/epoll_create1_x.cpp b/test/drivers/test_suites/syscall_exit_suite/epoll_create1_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/epoll_create1_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/epoll_create1_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/epoll_create_x.cpp b/test/drivers/test_suites/syscall_exit_suite/epoll_create_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/epoll_create_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/epoll_create_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/eventfd2_x.cpp b/test/drivers/test_suites/syscall_exit_suite/eventfd2_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/eventfd2_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/eventfd2_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/eventfd_x.cpp b/test/drivers/test_suites/syscall_exit_suite/eventfd_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/eventfd_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/eventfd_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/execve_x.cpp b/test/drivers/test_suites/syscall_exit_suite/execve_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/execve_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/execve_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/execveat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/execveat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/execveat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/execveat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/fchdir_x.cpp b/test/drivers/test_suites/syscall_exit_suite/fchdir_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/fchdir_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/fchdir_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/fchmod_x.cpp b/test/drivers/test_suites/syscall_exit_suite/fchmod_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/fchmod_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/fchmod_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/fchmodat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/fchmodat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/fchmodat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/fchmodat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/fcntl_x.cpp b/test/drivers/test_suites/syscall_exit_suite/fcntl_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/fcntl_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/fcntl_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/flock_x.cpp b/test/drivers/test_suites/syscall_exit_suite/flock_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/flock_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/flock_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/fork_x.cpp b/test/drivers/test_suites/syscall_exit_suite/fork_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/fork_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/fork_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/fsconfig_x.cpp b/test/drivers/test_suites/syscall_exit_suite/fsconfig_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/fsconfig_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/fsconfig_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/inotify_init1_x.cpp b/test/drivers/test_suites/syscall_exit_suite/inotify_init1_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/inotify_init1_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/inotify_init1_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/inotify_init_x.cpp b/test/drivers/test_suites/syscall_exit_suite/inotify_init_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/inotify_init_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/inotify_init_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/ioctl_x.cpp b/test/drivers/test_suites/syscall_exit_suite/ioctl_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/ioctl_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/ioctl_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/kill_x.cpp b/test/drivers/test_suites/syscall_exit_suite/kill_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/kill_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/kill_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/link_x.cpp b/test/drivers/test_suites/syscall_exit_suite/link_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/link_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/link_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/linkat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/linkat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/linkat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/linkat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/listen_x.cpp b/test/drivers/test_suites/syscall_exit_suite/listen_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/listen_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/listen_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/mkdir_x.cpp b/test/drivers/test_suites/syscall_exit_suite/mkdir_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/mkdir_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/mkdir_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/mkdirat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/mkdirat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/mkdirat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/mkdirat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/mount_x.cpp b/test/drivers/test_suites/syscall_exit_suite/mount_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/mount_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/mount_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/open_by_handle_at_x.cpp b/test/drivers/test_suites/syscall_exit_suite/open_by_handle_at_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/open_by_handle_at_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/open_by_handle_at_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/open_x.cpp b/test/drivers/test_suites/syscall_exit_suite/open_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/open_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/open_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/openat2_x.cpp b/test/drivers/test_suites/syscall_exit_suite/openat2_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/openat2_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/openat2_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/openat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/openat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/openat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/openat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/pipe2_x.cpp b/test/drivers/test_suites/syscall_exit_suite/pipe2_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/pipe2_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/pipe2_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/pipe_x.cpp b/test/drivers/test_suites/syscall_exit_suite/pipe_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/pipe_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/pipe_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/prlimit64_x.cpp b/test/drivers/test_suites/syscall_exit_suite/prlimit64_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/prlimit64_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/prlimit64_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/ptrace_x.cpp b/test/drivers/test_suites/syscall_exit_suite/ptrace_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/ptrace_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/ptrace_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/quotactl_x.cpp b/test/drivers/test_suites/syscall_exit_suite/quotactl_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/quotactl_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/quotactl_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/recvfrom_x.cpp b/test/drivers/test_suites/syscall_exit_suite/recvfrom_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/recvfrom_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/recvfrom_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/recvmsg_x.cpp b/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/recvmsg_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/rename_x.cpp b/test/drivers/test_suites/syscall_exit_suite/rename_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/rename_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/rename_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/renameat2_x.cpp b/test/drivers/test_suites/syscall_exit_suite/renameat2_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/renameat2_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/renameat2_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/renameat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/renameat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/renameat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/renameat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/rmdir_x.cpp b/test/drivers/test_suites/syscall_exit_suite/rmdir_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/rmdir_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/rmdir_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/seccomp_x.cpp b/test/drivers/test_suites/syscall_exit_suite/seccomp_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/seccomp_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/seccomp_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/sendmsg_x.cpp b/test/drivers/test_suites/syscall_exit_suite/sendmsg_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/sendmsg_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/sendmsg_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/sendto_x.cpp b/test/drivers/test_suites/syscall_exit_suite/sendto_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/sendto_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/sendto_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setgid_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setgid_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setgid_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setgid_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setns_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setns_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setns_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setns_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setpgid_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setpgid_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setpgid_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setpgid_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setresgid_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setresgid_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setresgid_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setresgid_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setresuid_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setresuid_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setresuid_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setresuid_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setrlimit_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setrlimit_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setrlimit_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setrlimit_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setsid_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setsid_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setsid_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setsid_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setsockopt_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setsockopt_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setsockopt_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setsockopt_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/setuid_x.cpp b/test/drivers/test_suites/syscall_exit_suite/setuid_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/setuid_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/setuid_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/shutdown_x.cpp b/test/drivers/test_suites/syscall_exit_suite/shutdown_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/shutdown_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/shutdown_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/signalfd4_x.cpp b/test/drivers/test_suites/syscall_exit_suite/signalfd4_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/signalfd4_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/signalfd4_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/signalfd_x.cpp b/test/drivers/test_suites/syscall_exit_suite/signalfd_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/signalfd_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/signalfd_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/socket_x.cpp b/test/drivers/test_suites/syscall_exit_suite/socket_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/socket_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/socket_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/socketpair_x.cpp b/test/drivers/test_suites/syscall_exit_suite/socketpair_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/socketpair_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/socketpair_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/symlink_x.cpp b/test/drivers/test_suites/syscall_exit_suite/symlink_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/symlink_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/symlink_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/symlinkat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/symlinkat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/symlinkat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/symlinkat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/tgkill_x.cpp b/test/drivers/test_suites/syscall_exit_suite/tgkill_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/tgkill_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/tgkill_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/timerfd_create_x.cpp b/test/drivers/test_suites/syscall_exit_suite/timerfd_create_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/timerfd_create_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/timerfd_create_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/tkill_x.cpp b/test/drivers/test_suites/syscall_exit_suite/tkill_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/tkill_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/tkill_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/umount2_x.cpp b/test/drivers/test_suites/syscall_exit_suite/umount2_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/umount2_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/umount2_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/unlink_x.cpp b/test/drivers/test_suites/syscall_exit_suite/unlink_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/unlink_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/unlink_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/unlinkat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/unlinkat_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/unlinkat_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/unlinkat_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/unshare_x.cpp b/test/drivers/test_suites/syscall_exit_suite/unshare_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/unshare_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/unshare_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/userfaultfd_x.cpp b/test/drivers/test_suites/syscall_exit_suite/userfaultfd_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/userfaultfd_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/userfaultfd_x.cpp diff --git a/test/modern_bpf/test_suites/syscall_exit_suite/vfork_x.cpp b/test/drivers/test_suites/syscall_exit_suite/vfork_x.cpp similarity index 100% rename from test/modern_bpf/test_suites/syscall_exit_suite/vfork_x.cpp rename to test/drivers/test_suites/syscall_exit_suite/vfork_x.cpp From 7f741825d9ed7859dcb75e5c9b4c0b4ce02826aa Mon Sep 17 00:00:00 2001 From: Andrea Terzolo Date: Fri, 16 Dec 2022 16:58:22 +0100 Subject: [PATCH 2/7] chore: adapt build to all the drivers Signed-off-by: Andrea Terzolo --- CMakeLists.txt | 5 + test/drivers/CMakeLists.txt | 38 ++- test/drivers/README.md | 45 --- test/drivers/event_class/event_class.cpp | 105 ++++--- test/drivers/event_class/event_class.h | 76 +++-- test/drivers/start_tests.cpp | 265 +++++++++++++++--- .../libscap/engine/modern_bpf/CMakeLists.txt | 17 -- 7 files changed, 365 insertions(+), 186 deletions(-) delete mode 100644 test/drivers/README.md diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e7fcd4f8b..7d1253e351 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,7 @@ option(USE_BUNDLED_DEPS "Enable bundled dependencies instead of using the system option(MINIMAL_BUILD "Produce a minimal build with only the essential features (no eBPF probe driver, no kubernetes, no mesos, no marathon and no container metadata)" OFF) option(MUSL_OPTIMIZED_BUILD "Enable if you want a musl optimized build" OFF) option(USE_BUNDLED_DRIVER "Use the driver/ subdirectory in the build process (only available in Linux)" ON) +option(ENABLE_DRIVERS_TESTS "Enable driver tests (bpf, kernel module, modern bpf)" OFF) include(GNUInstallDirs) @@ -94,4 +95,8 @@ if(CREATE_TEST_TARGETS AND NOT WIN32) ) add_subdirectory(test/e2e) + + if(ENABLE_DRIVERS_TESTS) + add_subdirectory(test/drivers) + endif() endif() diff --git a/test/drivers/CMakeLists.txt b/test/drivers/CMakeLists.txt index 481f77e78c..c7b65bd01c 100644 --- a/test/drivers/CMakeLists.txt +++ b/test/drivers/CMakeLists.txt @@ -1,6 +1,4 @@ -message(STATUS "Modern BPF tests build enabled") - -include_directories(../userspace/common) +message(STATUS "Drivers tests build enabled") ## Syscall_exit suite files. file(GLOB_RECURSE SYSCALL_EXIT_TEST_SUITE ${CMAKE_CURRENT_SOURCE_DIR}/test_suites/syscall_exit_suite/*.cpp) @@ -11,12 +9,10 @@ file(GLOB_RECURSE SYSCALL_ENTER_TEST_SUITE ${CMAKE_CURRENT_SOURCE_DIR}/test_suit ## Generic tracepoints suite files. file(GLOB_RECURSE GENERIC_TRACEPOINTS_TEST_SUITE ${CMAKE_CURRENT_SOURCE_DIR}/test_suites/generic_tracepoints_suite/*.cpp) -## Local suite files. (Not enabled by default) -if(BUILD_ENHANCED_MODERN_BPF_TEST) - file(GLOB_RECURSE LOCAL_TEST_SUITE ${CMAKE_CURRENT_SOURCE_DIR}/test_suites/local_suite/*.cpp) -endif() +## Actions suite files +file(GLOB_RECURSE ACTIONS_TEST_SUITE ${CMAKE_CURRENT_SOURCE_DIR}/test_suites/actions_suite/*.cpp) -set(MODERN_BPF_TEST_SOURCES +set(DRIVERS_TEST_SOURCES ./start_tests.cpp ./event_class/event_class.cpp ./flags/capabilities.cpp @@ -24,35 +20,35 @@ set(MODERN_BPF_TEST_SOURCES "${SYSCALL_EXIT_TEST_SUITE}" "${SYSCALL_ENTER_TEST_SUITE}" "${GENERIC_TRACEPOINTS_TEST_SUITE}" - "${LOCAL_TEST_SUITE}" + "${ACTIONS_TEST_SUITE}" ) -set(MODERN_BPF_TEST_INCLUDE +set(DRIVERS_TEST_INCLUDE PRIVATE + ../../userspace/common "${GTEST_INCLUDE}" "${LIBSCAP_DIR}/driver/" + "${LIBSCAP_DIR}/userspace/libscap" ) -set(MODERN_BPF_TEST_LINK_LIBRARIES - PRIVATE - pman - scap_event_schema +set(DRIVERS_TEST_LINK_LIBRARIES + scap "${GTEST_LIB}" "${GTEST_MAIN_LIB}" ) -set(MODERN_BPF_TEST_DEPENDECIES - pman +set(DRIVERS_TEST_DEPENDECIES + scap ) if(USE_BUNDLED_GTEST) list(APPEND - MODERN_BPF_TEST_DEPENDECIES + DRIVERS_TEST_DEPENDECIES gtest ) endif() -add_executable(bpf_test ${MODERN_BPF_TEST_SOURCES}) -target_include_directories(bpf_test ${MODERN_BPF_TEST_INCLUDE}) -target_link_libraries(bpf_test ${MODERN_BPF_TEST_LINK_LIBRARIES}) -add_dependencies(bpf_test ${MODERN_BPF_TEST_DEPENDECIES}) +add_executable(drivers_test ${DRIVERS_TEST_SOURCES}) +target_include_directories(drivers_test ${DRIVERS_TEST_INCLUDE}) +target_link_libraries(drivers_test ${DRIVERS_TEST_LINK_LIBRARIES}) +add_dependencies(drivers_test ${DRIVERS_TEST_DEPENDECIES}) diff --git a/test/drivers/README.md b/test/drivers/README.md deleted file mode 100644 index 77f2fc11c7..0000000000 --- a/test/drivers/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# BPF probe tests - -## Build - -To build the modern BPF probe tests: - -```bash -cmake -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_MODERN_BPF_TEST=ON -DMODERN_BPF_DEBUG_MODE=ON .. -make bpf_test -``` - -If you want to build also very specific tests regarding internal behaviors like the ring buffer consumption you should add also this cmake option `BUILD_ENHANCED_MODERN_BPF_TEST`: - -```bash -cmake -DBUILD_ENHANCED_MODERN_BPF_TEST=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_MODERN_BPF_TEST=ON -DMODERN_BPF_DEBUG_MODE=ON .. -make bpf_test -``` - -## Run test - -Here there is a useful reference to GoogleTest doc describing the [advanced run options](https://github.com/google/googletest/blob/main/docs/advanced.md#running-a-subset-of-the-tests). - -- Type the following command to get all Test Suites with all available test cases: - -```bash -sudo ./test/modern_bpf/bpf_test --gtest_list_tests -``` - -- Type the following command to run a specific Test Case (for example, here we test the close exit event in the test suite `SyscallExit`): - -```bash -sudo ./test/modern_bpf/bpf_test --gtest_filter='SyscallExit.mkdirX' -``` - -- Run an entire test suite (here `SyscallExit`) - -```bash -sudo ./test/modern_bpf/bpf_test --gtest_filter='SyscallExit.*' -``` - -- Stop at the first test that fails: - -```bash -sudo ./test/modern_bpf/bpf_test --gtest_break_on_failure -``` diff --git a/test/drivers/event_class/event_class.cpp b/test/drivers/event_class/event_class.cpp index 569349ec4d..7244343cfc 100644 --- a/test/drivers/event_class/event_class.cpp +++ b/test/drivers/event_class/event_class.cpp @@ -1,4 +1,3 @@ - #include "strlcpy.h" #include "event_class.h" #include @@ -97,7 +96,7 @@ event_test::~event_test() clear_ring_buffers(); /* 2 - clean all interesting syscalls. */ - mark_all_64bit_syscalls_as_uninteresting(); + scap_clear_ppm_sc_mask(scap_handle); } /* This constructor must be used with generic tracepoints @@ -147,12 +146,28 @@ event_test::event_test(int syscall_id, int event_direction): { m_tp_set[SYS_EXIT] = 1; m_event_type = g_syscall_table[syscall_id].exit_event_type; + if(is_bpf_engine()) + { + /* The bpf engine retrieves syscall params from sys_enter tracepoints + * in kernel versions < 4.17. Moreover for syscalls that generate a + * child we need a `sched_process_fork` tracepoint to duplicate the + * syscall args for the child exit event! + */ + m_tp_set[SYS_ENTER] = 1; + if(m_event_type == PPME_SYSCALL_CLONE_20_X || + m_event_type == PPME_SYSCALL_FORK_20_X || + m_event_type == PPME_SYSCALL_VFORK_20_X || + m_event_type == PPME_SYSCALL_CLONE3_X) + { + m_tp_set[SCHED_PROC_FORK] = 1; + } + } } m_current_param = 0; /* Set the current as the only interesting syscall. */ - mark_single_64bit_syscall_as_interesting(syscall_id); + scap_set_ppm_sc(scap_handle, g_syscall_table[syscall_id].ppm_sc, true); } /* This constructor must be used with syscalls events when you @@ -167,62 +182,67 @@ event_test::event_test(): m_tp_set[SYS_ENTER] = 1; m_tp_set[SYS_EXIT] = 1; - for(int sys_num = 0; sys_num < SYSCALL_TABLE_SIZE; sys_num++) + /* Enable all the syscalls */ + for(int ppm_sc = 0; ppm_sc < PPM_SC_MAX; ppm_sc++) { - mark_single_64bit_syscall_as_interesting(sys_num); + scap_set_ppm_sc(scap_handle, ppm_sc, true); } } -void event_test::mark_single_64bit_syscall_as_interesting(int interesting_syscall_id) -{ - pman_mark_single_64bit_syscall(interesting_syscall_id, true); -} - -void event_test::mark_all_64bit_syscalls_as_uninteresting() -{ - pman_clean_all_64bit_interesting_syscalls(); -} - void event_test::enable_capture() { - pman_enable_capture((bool*)m_tp_set.data()); + /* Here I should enable the necessary tracepoints */ + for(int i = 0; i < TP_VAL_MAX; i++) + { + if(m_tp_set[i]) + { + scap_set_tpmask(scap_handle, i, true); + } + } + /* We need to clear all the `ring-buffers` because maybe during + * the tracepoint attachment we triggered some syscalls + */ clear_ring_buffers(); } void event_test::disable_capture() { - pman_disable_capture(); + scap_stop_capture(scap_handle); } void event_test::clear_ring_buffers() { - int16_t cpu_id = 0; - while(get_event_from_ringbuffer(&cpu_id) != NULL) + uint16_t cpu_id = 0; + /* First timeout means that all the buffers are empty. If the capture is not + * stopped it is possible that we will never receive a `SCAP_TIMEOUT`. + */ + while(scap_next(scap_handle, (scap_evt**)&m_event_header, &cpu_id) != SCAP_TIMEOUT) { - }; -} - -bool event_test::are_all_ringbuffers_full(unsigned long threshold) -{ - return pman_are_all_ringbuffers_full(threshold); + } } -struct ppm_evt_hdr* event_test::get_event_from_ringbuffer(int16_t* cpu_id) +void event_test::get_event_from_ringbuffer(uint16_t* cpu_id) { + /* Clear acutal event */ m_event_header = NULL; uint16_t attempts = 0; + int32_t res = 0; /* Try 2 times just to be sure that all the buffers are empty. */ while(attempts <= 1) { - pman_consume_first_from_buffers((void**)&m_event_header, cpu_id); - if(m_event_header != NULL) + res = scap_next(scap_handle, (scap_evt**)&m_event_header, cpu_id); + if(res == SCAP_SUCCESS && m_event_header != NULL) { - return m_event_header; + return; + } + else if(res != SCAP_TIMEOUT && res != SCAP_SUCCESS) + { + FAIL() << "Unexpected error value from scap-next: " << res << std::endl; } attempts++; } - return m_event_header; + return; } void event_test::parse_event() @@ -419,7 +439,8 @@ void event_test::assert_event_absence(pid_t pid_to_search, int event_to_search) void event_test::assert_header() { - int num_params_from_bpf_table = pman_get_event_params(m_event_type); + /* TODO: Here we need a `scap` function that exposes some fields of the table and not all the table!! */ + int num_params_from_bpf_table = scap_get_event_info_table()[m_event_type].nparams; /* the bpf event gets the correct number of parameters from the param table. */ ASSERT_EQ(m_event_header->nparams, num_params_from_bpf_table) << "'nparams' in the header is not correct." << std::endl; @@ -429,7 +450,8 @@ void event_test::assert_header() void event_test::assert_num_params_pushed(int total_params) { - int num_params_from_bpf_table = pman_get_event_params(m_event_type); + /* TODO: Here we need a `scap` function that exposes some fields of the table and not all the table!! */ + int num_params_from_bpf_table = scap_get_event_info_table()[m_event_type].nparams; ASSERT_EQ(total_params, num_params_from_bpf_table) << "for this event we have not pushed the right number of parameters." << std::endl; } @@ -537,7 +559,16 @@ void event_test::assert_cgroup_param(int param_num) strlcpy(cgroup_prefix, cgroup_string, prefix_len + 1); ASSERT_STREQ(cgroup_prefix, cgroup_prefix_array[index]) << VALUE_NOT_CORRECT << m_current_param; } - assert_param_len(total_len); + + /* With the kmod we send more cgroups than the 5 we send in bpf and modern bpf */ + if(is_kmod_engine()) + { + assert_param_len_ge(total_len); + } + else + { + assert_param_len(total_len); + } } void event_test::assert_bytebuf_param(int param_num, const char* param, int buf_dimension) @@ -754,6 +785,12 @@ void event_test::assert_param_len(uint16_t expected_size) ASSERT_EQ(size, expected_size) << ">>>>> length of the param is not correct. Param id = " << m_current_param << std::endl; } +void event_test::assert_param_len_ge(uint16_t expected_size) +{ + uint16_t size = m_event_params[m_current_param].len; + ASSERT_GE(size, expected_size) << ">>>>> length of the param is not correct. Param id = " << m_current_param << std::endl; +} + void event_test::assert_address_family(uint8_t desired_family, int starting_index) { uint8_t family = (uint8_t)(m_event_params[m_current_param].valptr[starting_index]); @@ -819,7 +856,7 @@ void event_test::assert_unix_path(const char* desired_path, int starting_index) void event_test::assert_event_in_buffers(pid_t pid_to_search, int event_to_search, bool presence) { - int16_t cpu_id = 0; + uint16_t cpu_id = 0; pid_t pid = 0; uint16_t evt_type = 0; diff --git a/test/drivers/event_class/event_class.h b/test/drivers/event_class/event_class.h index 01ff459979..2a632de04e 100644 --- a/test/drivers/event_class/event_class.h +++ b/test/drivers/event_class/event_class.h @@ -12,16 +12,15 @@ #include "network_utils.h" #include #include +#include #define CURRENT_PID -1 #define CURRENT_EVENT_TYPE -1 extern "C" { -#include #include #include -#include } struct param @@ -61,7 +60,7 @@ enum direction /* NOTE: if we change the name of this executable * we have to change also this string! */ -#define TEST_EXECUTABLE_NAME "bpf_test" +#define TEST_EXECUTABLE_NAME "drivers_test" ///////////////////////////////// // SYSCALL RESULT ASSERTIONS @@ -85,6 +84,13 @@ void assert_syscall_state(int syscall_state, const char* syscall_name, long sysc class event_test { public: + static scap_t* scap_handle; + + static void set_scap_handle(scap_t* handle) + { + scap_handle = handle; + } + /* Please note: only methods with `assert` in the name use Google assertions. */ ///////////////////////////////// @@ -121,19 +127,6 @@ class event_test */ ~event_test(); - /** - * @brief Mark only the 64-bit syscall with `syscall_id` as interesting. - * - * @param syscall_id id of the syscall. - */ - void mark_single_64bit_syscall_as_interesting(int syscall_id); - - /** - * @brief Mark all 64-bit syscalls as uninteresting. - * - */ - void mark_all_64bit_syscalls_as_uninteresting(); - /** * @brief Tracepoints can start to catch events. * @@ -153,15 +146,6 @@ class event_test */ void clear_ring_buffers(); - /** - * @brief Return `true` if all ring buffers are full. To state - * that a ring buffer is full we check that the free space is less - * than the `threshold` - * - * @param threshold used to check if a buffer is full - */ - bool are_all_ringbuffers_full(unsigned long threshold); - /** * @brief Return the event with the lowest timestamp in the ring buffer. * Return the CPU from which we extracted the event. Return NULL @@ -169,7 +153,7 @@ class event_test * * @param cpu_id CPU from which we extracted the event. */ - struct ppm_evt_hdr* get_event_from_ringbuffer(int16_t* cpu_id); + void get_event_from_ringbuffer(uint16_t* cpu_id); /** * @brief Parse information from the event that we have extracted from the buffer: @@ -180,6 +164,36 @@ class event_test */ void parse_event(); + /** + * @brief Check the current engine type + * + * @return true if the current engine is bpf + */ + bool is_bpf_engine() + { + return scap_check_current_engine(scap_handle, BPF_ENGINE); + } + + /** + * @brief Check the current engine type + * + * @return true if the current engine is modern-bpf + */ + bool is_modern_bpf_engine() + { + return scap_check_current_engine(scap_handle, MODERN_BPF_ENGINE); + } + + /** + * @brief Check the current engine type + * + * @return true if the current engine is kmod + */ + bool is_kmod_engine() + { + return scap_check_current_engine(scap_handle, KMOD_ENGINE); + } + ///////////////////////////////// // NETWORK SCAFFOLDING ///////////////////////////////// @@ -553,12 +567,20 @@ class event_test void assert_param_boundaries(int param_num); /** - * @brief Assert if the length of current param is the expected one + * @brief Assert if the length of the current param is the expected one * * @param expected_size expected length of the param */ void assert_param_len(uint16_t expected_size); + /** + * @brief Assert if the length of the current param is greater or equal + * than the expected one + * + * @param expected_size expected length of the param + */ + void assert_param_len_ge(uint16_t expected_size); + /** * @brief Assert the socket address family as part of a `sockaddr` or a `tuple`. * diff --git a/test/drivers/start_tests.cpp b/test/drivers/start_tests.cpp index b6dbaffc00..d04fe018f7 100644 --- a/test/drivers/start_tests.cpp +++ b/test/drivers/start_tests.cpp @@ -1,11 +1,203 @@ -#include -#include #include #include -#include -#include #include +#include #include +#include "./event_class/event_class.h" + +#define UNKNOWN_ENGINE "unknown" + +/* We support only these arguments */ +#define KMOD_OPTION "kmod" +#define BPF_OPTION "bpf" +#define MODERN_BPF_OPTION "modern-bpf" +#define BUFFER_OPTION "buffer-dim" +#define BPF_PROBE_DEFAULT_PATH "/driver/bpf/probe.o" +#define KMOD_DEFAULT_PATH "/driver/scap.ko" +#define KMOD_NAME "scap" + +scap_t* event_test::scap_handle = NULL; + +int remove_kmod() +{ + if(syscall(__NR_delete_module, KMOD_NAME, O_NONBLOCK)) + { + switch(errno) + { + case ENOENT: + return EXIT_SUCCESS; + + /* If a module has a nonzero reference count with `O_NONBLOCK` flag + * the call returns immediately, with `EWOULDBLOCK` code. So in that + * case we wait until the module is detached. + */ + case EWOULDBLOCK: + for(int i = 0; i < 4; i++) + { + int ret = syscall(__NR_delete_module, KMOD_NAME, O_NONBLOCK); + if(ret == 0 || errno == ENOENT) + { + return EXIT_SUCCESS; + } + sleep(1); + } + return EXIT_FAILURE; + + case EBUSY: + case EFAULT: + case EPERM: + std::cerr << "Unable to remove kernel module. Errno message: " << strerror(errno) << ", errno: " << errno << std::endl; + return EXIT_FAILURE; + + default: + std::cerr << "Unexpected error code. Errno message: " << strerror(errno) << ", errno: " << errno << std::endl; + return EXIT_FAILURE; + } + } + return EXIT_SUCCESS; +} + +int insert_kmod(const std::string& kmod_path) +{ + /* Here we want to insert the module if we fail we need to abort the program. */ + int fd = open(kmod_path.c_str(), O_RDONLY); + if(fd < 0) + { + std::cout << "Unable to open the kmod file. Errno message: " << strerror(errno) << ", errno: " << errno << std::endl; + return EXIT_FAILURE; + } + + if(syscall(__NR_finit_module, fd, "", 0)) + { + std::cerr << "Unable to inject the kmod. Errno message: " << strerror(errno) << ", errno: " << errno << std::endl; + return EXIT_FAILURE; + } + return EXIT_SUCCESS; +} + +int open_engine(int argc, char** argv) +{ + static struct option long_options[] = { + {BPF_OPTION, optional_argument, 0, 'b'}, + {MODERN_BPF_OPTION, no_argument, 0, 'm'}, + {KMOD_OPTION, optional_argument, 0, 'k'}, + {BUFFER_OPTION, required_argument, 0, 'd'}, + {0, 0, 0, 0}}; + + int ret = 0; + scap_open_args oargs = {0}; + struct scap_bpf_engine_params bpf_params = {0}; + struct scap_kmod_engine_params kmod_params = {0}; + struct scap_modern_bpf_engine_params modern_bpf_params = {0}; + oargs.engine_name = UNKNOWN_ENGINE; + oargs.mode = SCAP_MODE_LIVE; + unsigned long buffer_bytes_dim = DEFAULT_DRIVER_BUFFER_BYTES_DIM; + std::string kmod_path; + + /* Remove kmod if injected, we remove it always even if we use another engine + * in this way we are sure the unique driver in the system is the one we will use. + */ + if(remove_kmod()) + { + return EXIT_FAILURE; + } + + /* Get current cwd */ + char cwd[FILENAME_MAX]; + if(!getcwd(cwd, FILENAME_MAX)) + { + std::cerr << "Unable to get current dir" << std::endl; + return EXIT_FAILURE; + } + + /* Parse CLI options */ + int op = 0; + int long_index = 0; + while((op = getopt_long(argc, argv, + "b::mk::d:", + long_options, &long_index)) != -1) + { + switch(op) + { + case 'b': + oargs.engine_name = BPF_ENGINE; + bpf_params.buffer_bytes_dim = buffer_bytes_dim; + if(optarg == NULL) + { + bpf_params.bpf_probe = strncat(cwd, BPF_PROBE_DEFAULT_PATH, FILENAME_MAX - strlen(cwd)); + } + else + { + bpf_params.bpf_probe = optarg; + } + oargs.engine_params = &bpf_params; + + /* The BPF `calibrate_socker` method needs to call the socket filler + * before starting the real capture. So we attach all syscalls and + * `sys_enter` and `sys_exit` tracepoints. + */ + oargs.tp_of_interest.tp[SYS_ENTER] = 1; + oargs.tp_of_interest.tp[SYS_EXIT] = 1; + for(int i = 0; i < PPM_SC_MAX; i++) + { + oargs.ppm_sc_of_interest.ppm_sc[i] = 1; + } + + std::cout << "* Configure BPF probe tests! Probe path: " << bpf_params.bpf_probe << std::endl; + break; + + case 'm': + oargs.engine_name = MODERN_BPF_ENGINE; + modern_bpf_params.buffer_bytes_dim = buffer_bytes_dim; + oargs.engine_params = &modern_bpf_params; + std::cout << "* Configure modern BPF probe tests!" << std::endl; + break; + + case 'k': + oargs.engine_name = KMOD_ENGINE; + kmod_params.buffer_bytes_dim = buffer_bytes_dim; + if(optarg == NULL) + { + kmod_path = strncat(cwd, KMOD_DEFAULT_PATH, FILENAME_MAX - strlen(cwd)); + } + else + { + kmod_path = optarg; + } + oargs.engine_params = &kmod_params; + if(insert_kmod(kmod_path)) + { + return EXIT_FAILURE; + } + std::cout << "* Configure kernel module tests! Kernel module path: " << kmod_path << std::endl; + ; + break; + + case 'd': + buffer_bytes_dim = strtoul(optarg, NULL, 10); + break; + + default: + break; + } + } + std::cout << "* Using buffer dim: " << buffer_bytes_dim << std::endl; + + if(strcmp(oargs.engine_name, UNKNOWN_ENGINE) == 0) + { + std::cerr << "Unsupported engine! Choose between: m, b, k" << std::endl; + return EXIT_FAILURE; + } + + char error_buffer[FILENAME_MAX] = {0}; + event_test::scap_handle = scap_open(&oargs, error_buffer, &ret); + if(!event_test::scap_handle) + { + std::cerr << "Unable to open the engine: " << error_buffer << std::endl; + return EXIT_FAILURE; + } + return EXIT_SUCCESS; +} void print_setup_phase_message() { @@ -18,7 +210,6 @@ void print_setup_phase_message() void print_start_test_message() { - std::cout << "* BPF probe correctly configured!" << std::endl; std::cout << std::endl; std::cout << "-----------------------------------------------------" << std::endl; std::cout << "------------------- Testing phase -------------------" << std::endl; @@ -37,56 +228,46 @@ void print_teardown_test_message() int main(int argc, char** argv) { - int ret; - bool libbpf_verbosity = false; - unsigned long buffer_dim = 8 * 1024; /* Should be enough */ - - for(int i = 0; i < argc; i++) - { - if(!strcmp(argv[i], "--verbose")) - { - libbpf_verbosity = true; - } - if(!strcmp(argv[i], "--buffer_dim")) - { - if(!(i + 1 < argc)) - { - std::cout << "\nYou need to specify also the dimension of buffer in bytes! Bye!" << std::endl; - exit(EXIT_FAILURE); - } - buffer_dim = strtoul(argv[++i], NULL, 10);; - } - } + int res = EXIT_SUCCESS; print_setup_phase_message(); ::testing::InitGoogleTest(&argc, argv); - /* Configure and load BPF probe. */ - ret = pman_init_state(libbpf_verbosity, buffer_dim); - ret = ret ?: pman_open_probe(); - ret = ret ?: pman_prepare_ringbuf_array_before_loading(); - ret = ret ?: pman_prepare_maps_before_loading(); - ret = ret ?: pman_load_probe(); - ret = ret ?: pman_finalize_maps_after_loading(); - ret = ret ?: pman_finalize_ringbuf_array_after_loading(); - if(ret) + /* Open the requested engine */ + if(open_engine(argc, argv)) { - std::cout << "\n* Error in the bpf probe setup, TESTS not started!" << std::endl; + return EXIT_FAILURE; + } + + /* We need to start the capture to calibrate socket with bpf engine */ + if(scap_start_capture(event_test::scap_handle) != SCAP_SUCCESS) + { + std::cout << "Error in starting the capture: " << scap_getlasterr(event_test::scap_handle) << std::endl; + goto cleanup_tests; + } + + /* We need to detach all tracepoints before starting tests. */ + if(scap_stop_capture(event_test::scap_handle) != SCAP_SUCCESS) + { + std::cout << "Error in stopping the capture: " << scap_getlasterr(event_test::scap_handle) << std::endl; goto cleanup_tests; } - /* Ensure that nothing is running before starting tests. */ - pman_disable_capture(); - pman_clean_all_64bit_interesting_syscalls(); + /* We need to disable also all the interesting syscalls */ + if(scap_clear_ppm_sc_mask(event_test::scap_handle) != SCAP_SUCCESS) + { + std::cout << "Error in clearing the syscalls of interests: " << scap_getlasterr(event_test::scap_handle) << std::endl; + goto cleanup_tests; + } print_start_test_message(); - ret = RUN_ALL_TESTS(); + res = RUN_ALL_TESTS(); cleanup_tests: print_teardown_test_message(); - pman_close_probe(); - std::cout << "* BPF probe correctly detached! Bye!" << std::endl; - return ret; + scap_close(event_test::scap_handle); + remove_kmod(); + return res; } diff --git a/userspace/libscap/engine/modern_bpf/CMakeLists.txt b/userspace/libscap/engine/modern_bpf/CMakeLists.txt index d8a7273fc5..e1ab763521 100644 --- a/userspace/libscap/engine/modern_bpf/CMakeLists.txt +++ b/userspace/libscap/engine/modern_bpf/CMakeLists.txt @@ -1,19 +1,7 @@ include_directories(${LIBSCAP_INCLUDE_DIRS} ../noop) -# Option to build bpf tests -option(BUILD_MODERN_BPF_TEST "Build tests for modern BPF" OFF) - -# Option to build enhanced bpf tests not used in CI. -# They should be used only on local machines because they print output and they could be verbose. -option(BUILD_ENHANCED_MODERN_BPF_TEST "Build enhanced tests for modern BPF" OFF) - option(USE_BUNDLED_MODERN_BPF "use bundled modern BPF" ON) -# Add to libpman all functions related to the testing phase -if(BUILD_MODERN_BPF_TEST) - add_definitions(-DTEST_HELPERS) -endif() - # Include `libbpf` library. include(libbpf RESULT_VARIABLE RESULT) if(RESULT STREQUAL NOTFOUND) @@ -34,11 +22,6 @@ message(STATUS "USE_BUNDLED_MODERN_BPF: ${USE_BUNDLED_MODERN_BPF}, using skeleto # Build `libpman` library. add_subdirectory(${LIBSCAP_DIR}/userspace/libpman ${CMAKE_BINARY_DIR}/libpman) -# Build modern BPF probe gtest -if(BUILD_MODERN_BPF_TEST) - add_subdirectory(${LIBSCAP_DIR}/test/modern_bpf ${CMAKE_BINARY_DIR}/test/modern_bpf) -endif() - add_library(scap_engine_modern_bpf scap_modern_bpf.c ) From db57738c6da15ec8bbf9ae6f6e2148b4895296a6 Mon Sep 17 00:00:00 2001 From: Andrea Terzolo Date: Fri, 16 Dec 2022 17:00:34 +0100 Subject: [PATCH 3/7] fix: allow all modern bpf tests to run successfully Signed-off-by: Andrea Terzolo --- .../test_suites/actions_suite/ring_buffer.cpp | 42 +++++++ .../test_suites/local_suite/ring_buffer.cpp | 111 ------------------ .../test_suites/syscall_exit_suite/bpf_x.cpp | 42 ++++++- 3 files changed, 80 insertions(+), 115 deletions(-) create mode 100644 test/drivers/test_suites/actions_suite/ring_buffer.cpp delete mode 100644 test/drivers/test_suites/local_suite/ring_buffer.cpp diff --git a/test/drivers/test_suites/actions_suite/ring_buffer.cpp b/test/drivers/test_suites/actions_suite/ring_buffer.cpp new file mode 100644 index 0000000000..4d831739e3 --- /dev/null +++ b/test/drivers/test_suites/actions_suite/ring_buffer.cpp @@ -0,0 +1,42 @@ +#include "../../event_class/event_class.h" + +#include +#include + +#if defined(__NR_close) && defined(__NR_openat) && defined(__NR_ioctl) +TEST(Actions, read_in_order_from_buffer) +{ + /* Here we capture all syscalls... this process will send some + * specific syscalls and we have to check that they are extracted in order + * from the buffers. + */ + auto evt_test = get_syscall_event_test(); + + evt_test->enable_capture(); + + /* 1. Generate a `close` event pair */ + assert_syscall_state(SYSCALL_FAILURE, "close", syscall(__NR_close, -1)); + + /* 2. Generate an `openat` event pair */ + assert_syscall_state(SYSCALL_FAILURE, "openat", syscall(__NR_openat, AT_FDCWD, "mock_path", 0, 0)); + + /* 3. Generate an `ioctl` event pair */ + assert_syscall_state(SYSCALL_FAILURE, "ioctl", syscall(__NR_ioctl, -1, 0, NULL)); + + /* 4. Generate an `accept4` event pair */ + assert_syscall_state(SYSCALL_FAILURE, "accept4", syscall(__NR_accept4, -1, NULL, NULL, 0)); + + /* Disable the capture: no more events from now. */ + evt_test->disable_capture(); + + /* Retrieve events in order. */ + evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_CLOSE_E); + evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_CLOSE_X); + evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_OPENAT_2_E); + evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_OPENAT_2_X); + evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_IOCTL_3_E); + evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_IOCTL_3_X); + evt_test->assert_event_presence(CURRENT_PID, PPME_SOCKET_ACCEPT4_5_E); + evt_test->assert_event_presence(CURRENT_PID, PPME_SOCKET_ACCEPT4_5_X); +} +#endif diff --git a/test/drivers/test_suites/local_suite/ring_buffer.cpp b/test/drivers/test_suites/local_suite/ring_buffer.cpp deleted file mode 100644 index af9f939f78..0000000000 --- a/test/drivers/test_suites/local_suite/ring_buffer.cpp +++ /dev/null @@ -1,111 +0,0 @@ -#include "../../event_class/event_class.h" - -#include -#include - -#define CLONE_EVENT_SIZE sizeof(struct ppm_evt_hdr) + sizeof(int64_t) + 2 -#define RINGBUF_HEADER 8 -/* If the free space in the buffer is less than this we have no space for another - * event, so we can consider the buffer empty. - */ -#define THRESHOLD CLONE_EVENT_SIZE + RINGBUF_HEADER - -#ifdef __NR_close -/* Run this test alone by typing: - * `sudo ./test/modern_bpf/bpf_test --gtest_filter='Local.ring_buffer_overwrite' --buffer_dim 4096` - */ -TEST(Local, ring_buffer_overwrite) -{ - /* The rationale behind this test is to let the system fill all the ring buffers with - * `PPME_SYSCALL_CLOSE_E` and `PPME_SYSCALL_CLOSE_X` events. We choose this particular - * syscall because enter and exit events have exactly the same size - * (look here /driver/modern_bpf/definitions/events_dimensions.h) so it is easier for - * us to understand if our buffers are full! BTW this is not strictly necessary we can - * modify the test if these events should change dimensions! - * - * When the buffers are full we try to extract an event from the buffers and we assert that - * this event is not overwritten by others until we read the next event. - */ - - auto evt_test = get_syscall_event_test(__NR_close, ENTER_EVENT); - evt_test->disable_capture(); - evt_test->clear_ring_buffers(); - evt_test->enable_capture(); - - while(!evt_test->are_all_ringbuffers_full(THRESHOLD)) - { - }; - - /* Remove some events from the buffer (in this case 10) - * and keep the pointer to an event to see if this is overwritten - */ - struct ppm_evt_hdr* evt = NULL; - int16_t cpu_id = 0; - - for(int i=0; i<10; i++) - { - evt = evt_test->get_event_from_ringbuffer(&cpu_id); - ASSERT_EQ(evt == NULL, false); - } - - /* Check that the pointer to this event is not overwritten */ - evt = evt_test->get_event_from_ringbuffer(&cpu_id); - ASSERT_EQ(evt == NULL, false); - uint64_t prev_ts = evt->ts; - uint64_t prev_tid = evt->tid; - uint32_t prev_len = evt->len; - uint16_t prev_type = evt->type; - uint32_t prev_nparams = evt->nparams; - - while(!evt_test->are_all_ringbuffers_full(THRESHOLD)) - { - }; - - /* We assert that the event header is not overwritten */ - ASSERT_EQ(prev_ts, evt->ts); - ASSERT_EQ(prev_tid, evt->tid); - ASSERT_EQ(prev_len, evt->len); - ASSERT_EQ(prev_type, evt->type); - ASSERT_EQ(prev_nparams, evt->nparams); - - evt_test->disable_capture(); -} -#endif - -#if defined(__NR_close) && defined(__NR_openat) && defined(__NR_ioctl) -TEST(Local, ring_buffer_read_in_order) -{ - /* Here we capture all syscalls... this process will send some - * specific syscalls and we have to check that they are extracted in order - * from the buffers. - */ - auto evt_test = get_syscall_event_test(); - - evt_test->enable_capture(); - - /* 1. Generate a `close` event pair */ - assert_syscall_state(SYSCALL_FAILURE, "close", syscall(__NR_close, -1)); - - /* 2. Generate an `openat` event pair */ - assert_syscall_state(SYSCALL_FAILURE, "openat", syscall(__NR_openat, AT_FDCWD, "mock_path", 0, 0)); - - /* 3. Generate an `ioctl` event pair */ - assert_syscall_state(SYSCALL_FAILURE, "ioctl", syscall(__NR_ioctl, -1, 0, NULL)); - - /* 4. Generate an `accept4` event pair */ - assert_syscall_state(SYSCALL_FAILURE, "accept4", syscall(__NR_accept4, -1, NULL, NULL, 0)); - - /* Disable the capture: no more events from now. */ - evt_test->disable_capture(); - - /* Retrieve events in order. */ - evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_CLOSE_E); - evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_CLOSE_X); - evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_OPENAT_2_E); - evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_OPENAT_2_X); - evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_IOCTL_3_E); - evt_test->assert_event_presence(CURRENT_PID, PPME_SYSCALL_IOCTL_3_X); - evt_test->assert_event_presence(CURRENT_PID, PPME_SOCKET_ACCEPT4_5_E); - evt_test->assert_event_presence(CURRENT_PID, PPME_SOCKET_ACCEPT4_5_X); -} -#endif diff --git a/test/drivers/test_suites/syscall_exit_suite/bpf_x.cpp b/test/drivers/test_suites/syscall_exit_suite/bpf_x.cpp index f61be77f16..1710479073 100644 --- a/test/drivers/test_suites/syscall_exit_suite/bpf_x.cpp +++ b/test/drivers/test_suites/syscall_exit_suite/bpf_x.cpp @@ -1,7 +1,8 @@ #include "../../event_class/event_class.h" -#ifdef __NR_bpf +#if defined(__NR_bpf) && defined(__NR_clone3) && defined(__NR_wait4) +#include #include TEST(SyscallExit, bpfX) @@ -15,14 +16,47 @@ TEST(SyscallExit, bpfX) int32_t cmd = -1; union bpf_attr *attr = NULL; uint32_t size = 0; - assert_syscall_state(SYSCALL_FAILURE, "bpf", syscall(__NR_bpf, cmd, attr, size)); - int64_t errno_value = -errno; + + /* Here we need to call the `bpf` from a child because the main process throws lots of + * `bpf` syscalls to manage the bpf drivers. + */ + struct clone_args cl_args = {0}; + cl_args.exit_signal = SIGCHLD; + pid_t ret_pid = syscall(__NR_clone3, &cl_args, sizeof(cl_args)); + + if(ret_pid == 0) + { + /* In this way in the father we know if the call was successful or not. */ + if(syscall(__NR_bpf, cmd, attr, size) == -1) + { + /* SUCCESS because we want the call to fail */ + exit(EXIT_SUCCESS); + } + else + { + exit(EXIT_FAILURE); + } + } + + assert_syscall_state(SYSCALL_SUCCESS, "clone3", ret_pid, NOT_EQUAL, -1); + /* Catch the child before doing anything else. */ + int status = 0; + int options = 0; + assert_syscall_state(SYSCALL_SUCCESS, "wait4", syscall(__NR_wait4, ret_pid, &status, options, NULL), NOT_EQUAL, -1); + + if(__WEXITSTATUS(status) == EXIT_FAILURE || __WIFSIGNALED(status) != 0) + { + FAIL() << "The bpf call is successful while it should fail..." << std::endl; + } + + /* This is the errno value we expect from the `bpf` call. */ + int64_t errno_value = -EINVAL; /*=============================== TRIGGER SYSCALL ===========================*/ evt_test->disable_capture(); - evt_test->assert_event_presence(); + evt_test->assert_event_presence(ret_pid); if(HasFatalFailure()) { From 7e3dfa3ded4276759254a6f94e29a6554641077b Mon Sep 17 00:00:00 2001 From: Andrea Terzolo Date: Fri, 16 Dec 2022 17:10:13 +0100 Subject: [PATCH 4/7] ci: add a job to test all drivers with scap-open Signed-off-by: Andrea Terzolo --- .github/workflows/ci.yml | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6ed4adb44..9201337062 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -162,6 +162,51 @@ jobs: KERNELDIR=/lib/modules/$(ls /lib/modules)/build make -j4 make run-unit-tests + # This job checks that we correctly run `scap-open` for all the 3 drivers. + test-scap-open-x86: + name: test-scap-open-x86 ๐Ÿ˜† (bundled_deps) + runs-on: ubuntu-22.04 + needs: paths-filter + if: needs.paths-filter.outputs.driver_changed == 'true' || needs.paths-filter.outputs.libscap_changed == 'true' + steps: + + - name: Checkout Libs โคต๏ธ + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install deps โ›“๏ธ + run: | + sudo apt update + sudo apt install -y --no-install-recommends ca-certificates cmake build-essential clang-14 llvm-14 git pkg-config autoconf automake libtool libelf-dev libcap-dev linux-headers-$(uname -r) + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 90 + sudo update-alternatives --install /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-14 90 + sudo update-alternatives --install /usr/bin/llc llc /usr/bin/llc-14 90 + + - name: Build scap-open and drivers ๐Ÿ—๏ธ + run: | + mkdir -p build + cd build && cmake -DUSE_BUNDLED_DEPS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_LIBSCAP_GVISOR=OFF -DBUILD_BPF=True -DCREATE_TEST_TARGETS=Off ../ + make scap-open + make driver bpf + + - name: Run scap-open with modern bpf ๐ŸŽ๏ธ + run: | + cd build + sudo ./libscap/examples/01-open/scap-open --modern_bpf --num_events 0 + + - name: Run scap-open with bpf ๐ŸŽ๏ธ + run: | + cd build + sudo ./libscap/examples/01-open/scap-open --bpf ./driver/bpf/probe.o --num_events 0 + + - name: Run scap-open with kmod ๐ŸŽ๏ธ + run: | + cd build + sudo insmod ./driver/scap.ko + sudo ./libscap/examples/01-open/scap-open --kmod --num_events 0 + sudo rmmod scap + build-and-test-modern-bpf-x86: name: build-and-test-modern-bpf-x86 ๐Ÿ˜‡ (bundled_deps) runs-on: ubuntu-22.04 From 42f79e675f169ef1eee4f42702719eaa55feae19 Mon Sep 17 00:00:00 2001 From: Andrea Terzolo Date: Fri, 16 Dec 2022 17:11:05 +0100 Subject: [PATCH 5/7] new(ci): run new modern bpf tests in CI Signed-off-by: Andrea Terzolo --- .github/workflows/ci.yml | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9201337062..bc6a6c38dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -222,28 +222,21 @@ jobs: - name: Install deps โ›“๏ธ run: | sudo apt update - sudo apt install -y --no-install-recommends ca-certificates cmake build-essential clang-14 git pkg-config autoconf automake libtool libelf-dev libcap-dev + sudo apt install -y --no-install-recommends ca-certificates cmake build-essential git pkg-config autoconf automake libelf-dev libcap-dev linux-headers-$(uname -r) clang-14 llvm-14 libtool + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 90 + sudo update-alternatives --install /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-14 90 + sudo update-alternatives --install /usr/bin/llc llc /usr/bin/llc-14 90 - - name: Build scap-open ๐Ÿ—๏ธ + - name: Build drivers tests ๐Ÿ—๏ธ run: | mkdir -p build - cd build && cmake -DUSE_BUNDLED_DEPS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_MODERN_BPF_TEST=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_LIBSCAP_GVISOR=OFF ../ - make scap-open - - - name: Run scap-open ๐ŸŽ๏ธ - run: | - cd build - sudo ./libscap/examples/01-open/scap-open --modern_bpf --num_events 0 - - - name: Build bpf_test ๐Ÿ—๏ธ - run: | - cd build - make bpf_test + cd build && cmake -DUSE_BUNDLED_DEPS=ON -DENABLE_DRIVERS_TESTS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_BPF=True -DBUILD_LIBSCAP_GVISOR=OFF ../ + make drivers_test - - name: Running tests ๐Ÿงช + - name: Run drivers_test with modern bpf ๐ŸŽ๏ธ run: | cd build - sudo ./test/modern_bpf/bpf_test --verbose + sudo ./test/drivers/drivers_test -m build-modern-bpf-arm64: name: build-modern-bpf-arm64 ๐Ÿ™ƒ (system_deps) @@ -272,9 +265,9 @@ jobs: git config --global --add safe.directory ${{ github.workspace }} .github/install-deps.sh mkdir -p build - cd build && cmake -DUSE_BUNDLED_DEPS=OFF -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_MODERN_BPF_TEST=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_LIBSCAP_GVISOR=OFF ../ + cd build && cmake -DUSE_BUNDLED_DEPS=OFF -DENABLE_DRIVERS_TESTS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_LIBSCAP_GVISOR=OFF ../ make scap-open - make bpf_test + make drivers_test build-modern-bpf-s390x: name: build-modern-bpf-s390x ๐Ÿ˜ (system_deps) @@ -303,9 +296,8 @@ jobs: git config --global --add safe.directory ${{ github.workspace }} .github/install-deps.sh mkdir -p build - cd build && cmake -DUSE_BUNDLED_DEPS=OFF -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_MODERN_BPF_TEST=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_LIBSCAP_GVISOR=OFF ../ - make scap-open - make bpf_test + cd build && cmake -DUSE_BUNDLED_DEPS=OFF -DENABLE_DRIVERS_TESTS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_LIBSCAP_GVISOR=OFF ../ + make drivers_test build-libs-driverkit: name: build-libs-driverkit From 015946bdd28b6edf37f85b75bb5fe7b4c59d292c Mon Sep 17 00:00:00 2001 From: Andrea Terzolo Date: Mon, 19 Dec 2022 10:20:21 +0100 Subject: [PATCH 6/7] docs: add new README Signed-off-by: Andrea Terzolo --- test/drivers/README.md | 93 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 test/drivers/README.md diff --git a/test/drivers/README.md b/test/drivers/README.md new file mode 100644 index 0000000000..fb98b61ed5 --- /dev/null +++ b/test/drivers/README.md @@ -0,0 +1,93 @@ +# Drivers tests + +## Rationale + +This test suite should allow you to check the behavior of our 3 drivers: `modern_bpf`, `bpf`, `kernel module`. To assert against the output of our drivers we use the so-called `scap-engines`. +You don't have to build all the engines if you want to assert only some of the drivers, for example, the minimal build command is: + +```bash +cmake -DUSE_BUNDLED_DEPS=On -DENABLE_DRIVERS_TESTS=On -DBUILD_LIBSCAP_GVISOR=Off -DCREATE_TEST_TARGETS=On .. +``` + +In this case, only the `kmod` engine will be built and you can assert only the behavior of the kernel module. If you want to assert also the bpf probe you have to add `-DBUILD_BPF=True`, while if you want to add the modern bpf probe engine you have to use `-DBUILD_LIBSCAP_MODERN_BPF=On`. + +## Usage Example + +Let's build all the 3 engines: + +```bash +cmake -DUSE_BUNDLED_DEPS=On -DENABLE_DRIVERS_TESTS=On -DBUILD_LIBSCAP_GVISOR=Off -DBUILD_BPF=True -DBUILD_LIBSCAP_MODERN_BPF=On -DCREATE_TEST_TARGETS=On .. +make drivers_test +``` + +Now all the engines should be built, but if you want to assert against the kmod or the bpf probe you have to build them: + +```bash +make driver bpf +``` + +> __NOTE__: the modern bpf probe is bundled inside its engine so every time you type `make drivers_test` it will automatically compiled without any additional command. + +We are ready to run our tests: + +``` +sudo ./test/drivers/drivers_test -k +``` + +The `-k` option stands for kmod, so you are running all the tests against the kmod. Available options are: + +- `-k` to run tests against the kernel module. +- `-m` to run tests against the modern bpf probe. +- `-b` to run tests against the bpf probe. +- `-d` to change the dimension of shared buffers between userspace and kernel. (advanced use case) + +> __NOTE__: you can assert only one driver at time so you cannot run tests with more than one engine option `sudo ./test/drivers/drivers_test -k -m` โš ๏ธ + +Another important thing to know is that by default when you provide the `-k` option, tests will search under `./driver/scap.ko` for a valid kernel module (this is the default location when you type `make driver`) same for the bpf probe (`.driver/bpf/probe.o`) so if you run tests in the build directory you shouldn't have issues. If you run tests outside the build directory you should provide also the path with the option (`sudo ./test/drivers/drivers_test -k `, same for bpf). The modern bpf probe is bundled so no need for explicit paths! + +This is the suggested flow to run tests ๐Ÿ‘‡ + +From repo root `/libs` type: + +```bash +rm -rf build +mkdir build && cd build +cmake -DUSE_BUNDLED_DEPS=On -DENABLE_DRIVERS_TESTS=On -DBUILD_LIBSCAP_GVISOR=Off -DBUILD_BPF=True -DBUILD_LIBSCAP_MODERN_BPF=On -DCREATE_TEST_TARGETS=On .. +make drivers_test +make driver bpf +sudo ./test/drivers/drivers_test