diff options
author | Alice Frosi <afrosi@redhat.com> | 2023-04-12 14:26:59 +0200 |
---|---|---|
committer | Alice Frosi <afrosi@redhat.com> | 2023-04-12 14:39:30 +0200 |
commit | 8717257069249cdb217575bb3a3512d35bfadafb (patch) | |
tree | dc64c6f8aaa595e4edb2d57bf489ba885a2ca748 /tests/unit/util.c | |
parent | c54051101e95998b3070d5ccea46f6c7e33dfe57 (diff) | |
download | seitan-8717257069249cdb217575bb3a3512d35bfadafb.tar seitan-8717257069249cdb217575bb3a3512d35bfadafb.tar.gz seitan-8717257069249cdb217575bb3a3512d35bfadafb.tar.bz2 seitan-8717257069249cdb217575bb3a3512d35bfadafb.tar.lz seitan-8717257069249cdb217575bb3a3512d35bfadafb.tar.xz seitan-8717257069249cdb217575bb3a3512d35bfadafb.tar.zst seitan-8717257069249cdb217575bb3a3512d35bfadafb.zip |
Refactor tests to use same struct arg as the filter
Diffstat (limited to 'tests/unit/util.c')
-rw-r--r-- | tests/unit/util.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/tests/unit/util.c b/tests/unit/util.c index 89d5d73..3406c3b 100644 --- a/tests/unit/util.c +++ b/tests/unit/util.c @@ -49,15 +49,31 @@ int install_notification_filter(struct args_target *at) filter, (unsigned short)(sizeof(filter) / sizeof(filter[0]))); } +static void parse_args_target(void *args[]) +{ + for (unsigned int i = 0; i < 6; i++) { + switch (at->args[i].type) { + case U64: + args[i] = (void *)at->args[i].value.v64; + break; + case U32: + args[i] = (void *)(long)at->args[i].value.v32; + break; + } + } +} + int target() { - int buf = 0; + void *args[6]; + int buf = 0; if (at->install_filter(at) < 0) { return -1; } - at->ret = syscall(at->nr, at->args[0], at->args[1], at->args[2], - at->args[3], at->args[4], at->args[5]); + parse_args_target(args); + at->ret = syscall(at->nr, args[0], args[1], args[2], args[3], args[4], + args[5]); at->err = errno; if (at->open_path) { if ((at->fd = open(path, O_CREAT | O_RDONLY)) < 0) { @@ -188,7 +204,7 @@ void mock_syscall_target() void set_args_no_check(struct args_target *at) { for (unsigned int i = 0; i < 6; i++) - at->cmp[i] = NO_CHECK; + at->args[i].cmp = NO_CHECK; } void setup() |