[LTP] [PATCH] eventfd06: add AIO support check
Li Wang
liwang@redhat.com
Tue Jan 21 11:33:50 CET 2025
On Tue, Jan 21, 2025 at 5:26 PM Petr Vorel <pvorel@suse.cz> wrote:
> > Just like what we did for io_setup01.c to avoid ENOSYS error:
> > eventfd06.c:140: TBROK: io_setup() failed: ENOSYS
>
> > Signed-off-by: Li Wang <liwang@redhat.com>
> > ---
> > testcases/kernel/syscalls/eventfd/eventfd06.c | 2 ++
> > 1 file changed, 2 insertions(+)
>
> > diff --git a/testcases/kernel/syscalls/eventfd/eventfd06.c
> b/testcases/kernel/syscalls/eventfd/eventfd06.c
> > index 7339dd471..46d7f73d3 100644
> > --- a/testcases/kernel/syscalls/eventfd/eventfd06.c
> > +++ b/testcases/kernel/syscalls/eventfd/eventfd06.c
> > @@ -136,6 +136,8 @@ static void test_poll(void)
> > static void setup(void)
> > {
> > TEST(io_setup(MAXEVENTS, &ctx));
> > + if (TST_RET == -ENOSYS)
>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
>
> Maybe to be safe to check also TST_RET?
>
> if (TST_RET == -1 && TTERRNO == ENOSYS)
>
I guess you mean: if (TST_RET == -1 && TST_ERR == ENOSYS).
Typically this is correct but here it's not right. Because according
to the io_setup(2) - Linux man page:
"... Note also that the libaio wrapper does not follow the
usual C library conventions for indicating errors: on
error it returns a negated error number (the negative
of one of the values listed in ERRORS) ... "
>
> Maybe (after the release) we could add new macro to tst_test_macros.h
> similar to TEST(), which would do test like this (variant of tst_syscall()
> macro). We already have 10 tests which do this manually.
>
Sure.
> Kind regards,
> Petr
>
> > + tst_brk(TCONF | TRERRNO, "io_setup(): AIO not supported by
> kernel");
> > if (TST_RET < 0)
> > tst_brk(TBROK, "io_setup() failed: %s",
> tst_strerrno(-TST_RET));
>
>
--
Regards,
Li Wang
More information about the ltp
mailing list