<div dir="ltr"><div class="gmail_default" style="font-size:small">Ah, forgot to CC' LTP list.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Li Wang</b> <span dir="ltr"><<a href="mailto:liwang@redhat.com">liwang@redhat.com</a>></span><br>Date: Thu, May 17, 2018 at 1:03 PM<br>Subject: Re: [LTP] [PATCH v2] tst_test.sh: achieve TST_RETRY_FUNC function in shell<br>To: Petr Vorel <<a href="mailto:pvorel@suse.cz">pvorel@suse.cz</a>><br><br><br><div dir="ltr"><div style="font-size:small">Hi Petr,<br></div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, May 16, 2018 at 6:44 PM, Petr Vorel <span dir="ltr"><<a href="mailto:pvorel@suse.cz" target="_blank">pvorel@suse.cz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Li,<br>
<span class="m_-6808896944882173359gmail-"><br>
> The commit c2ce4df67d(include: add an exponential backoff macro for<br>
> function retry) involves a new MACRO for function retry in C code,<br>
> here achieve it in shell lib and gives a introduction in LTP documents.<br>
<br>
> Signed-off-by: Li Wang <<a href="mailto:liwang@redhat.com" target="_blank">liwang@redhat.com</a>><br>
> Tested-by: Petr Vorel <<a href="mailto:pvorel@suse.cz" target="_blank">pvorel@suse.cz</a>><br>
> ---<br>
</span>...<br>
<span class="m_-6808896944882173359gmail-">> +++ b/testcases/lib/tst_test.sh<br>
> @@ -154,6 +154,40 @@ EXPECT_FAIL()<br>
>       fi<br>
>  }<br>
<br>
> +TST_RETRY_FN_EXP_BACKOFF()<br>
> +{<br>
> +     local tst_fun=$1<br>
> +     local tst_exp=$2<br>
<br>
</span>Maybe add check for int, something like this?<br>
        if ! tst_is_int "$tst_sec"; then<br>
                tst_brk TBROK "TST_RETRY_FN_EXP_BACKOFF: tst_sec must be integer ('$tst_sec')"<br>
        fi<br></blockquote><div><br></div></span><div>​Sounds good. If do this, I'd put the check after tst_sec assignment.<br></div><span class=""><div>​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="m_-6808896944882173359gmail-">> +     local tst_sec=$(expr $3 \* 1000000)<br>
> +     local tst_delay=1<br>
> +<br>
> +     if [ $# -ne 3 ]; then<br>
> +             tst_brk TBROK "TST_RETRY_FN_EXP_BACKOFF expects three parameters"<br>
</span>I'd personally use number than word, but feel free to ignore that.<br>
                tst_brk TBROK "TST_RETRY_FN_EXP_BACKOFF expects 3 parameters"<br>
I'm not sure if checking<br>
...<br></blockquote><div><br></div></span><div>​Ok, fine.</div><span class=""><div>​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> +TST_RETRY_FUNC()<br>
> +{<br>
TST_RETRY_FUNC needs check for number of params as well:<br>
<br>
        if [ $# -ne 2 ]; then<br>
                tst_brk TBROK "TST_RETRY_FUNC expects 2 parameters"<br>
        fi<br>
<span class="m_-6808896944882173359gmail-">> +     TST_RETRY_FN_EXP_BACKOFF "$1" "$2" 1<br>
<br>
</span>Otherwise you run TST_RETRY_FUNC without params and didn't get check.<br>
some-test 1 TBROK: "" failed<br></blockquote><div><br></div></span><div>​Agree.</div><div>​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
Kind regards,<br>
Petr<span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div class="m_-6808896944882173359gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div>
</font></span></div></div>
</div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div>
</div>