blob: 2df3144fe24338d574e766d1f16208f61f9fb157 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include "kpl_test.h"
static const char *linux_version = "/proc/version";
KPL_TEST(statx) {
kpl_io_uring io_uring = {};
KPL_ASSERT(kpl_io_uring_init(&io_uring, KPL_IO_URING_QUEUE_SIZE_POW2_MIN) == 0, "should return 0 for success");
struct statx statx_object = {};
kpl_object_task *task = calloc(1, sizeof(kpl_object_task) + sizeof(kpl_class) * 1);
task->io_res = 1;
KPL_ASSERT(kpl_io_uring_statx(&io_uring, task, AT_FDCWD, linux_version, 0, STATX_ALL, &statx_object),
"should add statx operation");
KPL_ASSERT(kpl_io_uring_submit(&io_uring) == 1, "should submit one io operation");
KPL_ASSERT(task == kpl_io_uring_get_completed(&io_uring), "should return a task");
KPL_ASSERT(task->io_res == 0, "io_res should have success stax return");
KPL_ASSERT(statx_object.stx_nlink > 0, "should have one or more hard link(s)");
free(task);
kpl_io_uring_free(&io_uring);
}
|