<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 24, 2019 at 2:28 AM Petr Vorel <<a href="mailto:pvorel@suse.cz" target="_blank">pvorel@suse.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Jan,<br>
<br>
> > > - tst_res TPASS "'lsmod' passed."<br>
> > > +lsmod_test()<br>
> > > +{<br>
> > > + for i in $(seq 1 5); do<br>
> > > +         if lsmod_matches_proc_modules; then<br>
> > > +                 tst_res TPASS "'lsmod' passed."<br>
> > > +                 return<br>
> > > +         fi<br>
> > > +         tst_res TINFO "Trying again"<br>
> > > +         sleep 1<br>
> > > + done<br>
> > This is similar pattern to TST_RETRY_FUNC()/TST_RETRY_FN_EXP_BACKOFF()<br>
> > (for both shell and C). I wonder if we also have use for TPASS/TFAIL<br>
> > instead of just TBROK and specifying number of tries instead of time to be<br>
> > setup.<br>
<br>
> I think TFAIL fits more here, it's outcome of what we are testing.<br>
> TBROK in my mind is failure unrelated to subject of test.<br>
I express myself wrong. Sure, I meant to have TPASS/TFAIL,<br>
just to use some helper function instead of writing the wrapper in the test.<br>
<br>
> But functionally TST_RETRY_FUNC should work too. <br>
<br>
> > C and shell usage is a bit different, so maybe<br>
> > TST_RETRY_FUNC()/TST_RETRY_FN_EXP_BACKOFF() doesn't make much sense for shell<br>
<br>
> I see it used in mkswap01.sh and numa01.sh.<br>
Sorry, I searched just TST_RETRY_FN_EXP_BACKOFF.<br>
Correct, TST_RETRY_FUNC is used there.<br>
<br>
> I wonder if we need to TBROK in TST_RETRY_FUNC(). We could just return<br>
> what the FUNC returns and let the test decide.<br>
> TST_RETRY_FUNC_BRK() could be a wrapper that TBROKs on timeout.<br>
That could work (apart from the fact it diverges the functionality from C).<br>
+ there could be the third one, which TPASS/TFAIL (instead of nothing/TBROK).<br>
<br>
But this should be based on TST_RETRY_FN_EXP_BACKOFF (TST_RETRY_FUNC is reusing<br>
TST_RETRY_FN_EXP_BACKOFF) + add also TST_RETRY_FUNC wrappers.<br>
<br>
Do we need similar functionality in C?<br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">Not sure, but we could collect the requirement for the EXP_BACKOFF series macro. I'm also thinking about to extend the functionality for more situations.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">e.g <a href="http://lists.linux.it/pipermail/ltp/2019-October/013896.html">http://lists.linux.it/pipermail/ltp/2019-October/013896.html</a></div></div><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>