aboutgitcodelistschat:MatrixIRC
path: root/tests/unit/util.c
diff options
context:
space:
mode:
authorAlice Frosi <afrosi@redhat.com>2023-04-12 14:26:59 +0200
committerAlice Frosi <afrosi@redhat.com>2023-04-12 14:39:30 +0200
commit8717257069249cdb217575bb3a3512d35bfadafb (patch)
treedc64c6f8aaa595e4edb2d57bf489ba885a2ca748 /tests/unit/util.c
parentc54051101e95998b3070d5ccea46f6c7e33dfe57 (diff)
downloadseitan-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.c24
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()