Skip to content

Commit

Permalink
test(test/drivers): new test for delete_module syscall
Browse files Browse the repository at this point in the history
Signed-off-by: Lorenzo Susini <[email protected]>
  • Loading branch information
loresuso committed Feb 29, 2024
1 parent a244751 commit 4a4dec6
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions test/drivers/test_suites/syscall_exit_suite/delete_module_x.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#include "../../event_class/event_class.h"

#if defined(__NR_delete_module)
#include <linux/module.h>

TEST(SyscallExit, delete_moduleX_failure)
{
const char* module_name = "test_module";

auto evt_test = get_syscall_event_test(__NR_delete_module, EXIT_EVENT);
evt_test->enable_capture();

/*=============================== TRIGGER SYSCALL ===========================*/

/*
* Call the `delete_module` syscall
*/
assert_syscall_state(SYSCALL_FAILURE, "delete_module", syscall(__NR_delete_module, module_name, 0));
int64_t errno_value = -errno;


/*=============================== TRIGGER SYSCALL ===========================*/

evt_test->disable_capture();

evt_test->assert_event_presence();

if(HasFatalFailure())
{
return;
}

evt_test->parse_event();

evt_test->assert_header();

/*=============================== ASSERT PARAMETERS ===========================*/

/* Parameter 1: res (type: PT_ERRNO)*/
evt_test->assert_numeric_param(1, (uint64_t)errno_value);

/* Parameter 2: name (type: PT_CHARBUF) */
evt_test->assert_charbuf_param(2, module_name);

/* Parameter 3: flags (type: PT_INT32) */
evt_test->assert_numeric_param(3, 0);

/*=============================== ASSERT PARAMETERS ===========================*/

evt_test->assert_num_params_pushed(3);
}

#endif /* __NR_delete_module */

0 comments on commit 4a4dec6

Please sign in to comment.