[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