[LTP] [PATCH] syscalls/io_submit: Add TTERRNO/TERRNO when test fail
zhaogongyi
zhaogongyi@huawei.com
Thu Apr 21 14:14:32 CEST 2022
Hi Cyril,
Thans for your review!
I have resubmit a patch, please see: https://patchwork.ozlabs.org/project/ltp/patch/20220421121016.26958-1-zhaogongyi@huawei.com/
Best wishes!
Gongyi
> 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