[LTP] [PATCH] syscalls/io_submit: Add TTERRNO/TERRNO when test fail
Cyril Hrubis
chrubis@suse.cz
Tue Apr 19 15:14:29 CEST 2022
Hi!
> >
> > NACK.
> >
> > As far as I can tell the io_submit() calls returns negative error instead of
> > setting errno, at least that's what libaio documentation states.
>
> Yes, according to linux manual, libaio interface don't set errno when calling failed, so, do we also need to remove the TREENO here?
>
> 80 TEST(io_setup(1, &ctx));
> 81 if (TST_RET == -ENOSYS)
> 82 tst_brk(TCONF | TRERRNO, "io_setup(): AIO not supported by kernel");
> 83 else if (TST_RET)
> 84 tst_brk(TBROK | TRERRNO, "io_setup() failed");
Yes please, this should be replaced by manually printing
tst_strerrno(-TST_RET).
> > > diff --git a/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > b/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > index 38b8555d8..6ba4d99a5 100644
> > > --- a/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > +++ b/testcases/kernel/syscalls/io_submit/io_submit02.c
> > > @@ -79,7 +79,7 @@ static void run(unsigned int i)
> > > if (TST_RET == tc[i].nr)
> > > tst_res(TPASS, "io_submit() %s", tc[i].desc);
> > > else
> > > - tst_res(TFAIL, "io_submit() returns %ld, expected %ld", TST_RET,
> > tc[i].nr);
> > > + tst_res(TFAIL | TTERRNO, "io_submit() returns %ld,
> > expected %ld",
> > > +TST_RET, tc[i].nr);
> >
> > The best we can do here is to use tst_strerrno() to print the error as we do
> > in the io_submit().
>
> According to linux manual, call io_submit through syscall, it will set errno:
> "If the system call is invoked via syscall(2), then the return value follows the usual conventions for indicating an error: -1, with errno set to a
> (positive) value that indicates the error."
Ah right, as long as we use the syscall() wrapper the negative error
return value will be moved to the errno variable by the wrapper, so this
part is correct.
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list