<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 9, 2018 at 8:19 PM, Richard Palethorpe <span dir="ltr"><<a href="mailto:rpalethorpe@suse.de" target="_blank">rpalethorpe@suse.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<span class=""><br>
Cyril Hrubis writes:<br>
<br>
> Hi!<br>
>> OK, I think this change is good except that using a constant time for<br>
>> the usleep is probably bad. Instead we could use an exponential<br>
>> function; so we can start with a sleep of 1 then double it up to a<br>
>> maximum of 20 times (approximately a second for the final wait).<br>
><br>
> Actually I was thinking of adding such functionality to the test library<br>
> exactly because I do not want to reimplement the exponentialy<br>
> incremented sleep for retry over and overe in each testcase...<br>
<br>
</span>Sounds like a good idea.<br>
<span class=""><br>
><br>
> Maybe we need TST_RETRY_ON_NONZERO() macro that would build the retry<br>
> loop around a function passed as a paramter or something like that.<br>
<br>
</span>Or TST_RETRY_LOOP, TST_RETRY_WHILE or<br>
TST_RETRY_WITH_EXPONENTIAL_<wbr>BACKOFF. :-)<br>
<br>
Maybe it should not be a magic macro though, but just an inline function<br>
which you call in the body of a loop which performs the sleep based on a<br>
couple of parameters. I suppose it depends on how nice one can make the<br>
macro.<br>
<br></blockquote><div><br><div style="font-family:monospace,monospace;display:inline" class="gmail_default">​I have written two new MACROS from this suggestion, and​ will send out the PATCH to<br>request you comments after finishing my roughly test. Thanks!<br></div> </div></div><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Li Wang<br><a href="mailto:liwang@redhat.com" target="_blank">liwang@redhat.com</a></div>
</div></div>