iconv: Use TIMEOUTFACTOR for iconv test timeout

Message ID 20211005015610.2067161-1-shorne@gmail.com
State New
Headers show
Series
  • iconv: Use TIMEOUTFACTOR for iconv test timeout
Related show

Commit Message

Florian Weimer via Libc-alpha Oct. 5, 2021, 1:56 a.m.
Currently the timeout for each iconv test is hard coded to 3 seconds.
On my OpenRISC test platform this is too slow and the test fails with a
HANG error.

This change uses the available TIMEOUTFACTOR to compute the timeout.
The default value is still 3.
---
 iconv/tst-iconv_prog.sh | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

-- 
2.31.1

Comments

Florian Weimer via Libc-alpha Oct. 20, 2021, 9:22 p.m. | #1
Ping,

And by the way, Am I allowed to push upstream trivial fixes like this
without review?  I think reviewing should be mandatory, but some
projects feel different.

On Tue, Oct 5, 2021 at 10:56 AM Stafford Horne <shorne@gmail.com> wrote:
>

> Currently the timeout for each iconv test is hard coded to 3 seconds.

> On my OpenRISC test platform this is too slow and the test fails with a

> HANG error.

>

> This change uses the available TIMEOUTFACTOR to compute the timeout.

> The default value is still 3.

> ---

>  iconv/tst-iconv_prog.sh | 5 ++++-

>  1 file changed, 4 insertions(+), 1 deletion(-)

>

> diff --git a/iconv/tst-iconv_prog.sh b/iconv/tst-iconv_prog.sh

> index 14b7c08c91..2505f0f371 100644

> --- a/iconv/tst-iconv_prog.sh

> +++ b/iconv/tst-iconv_prog.sh

> @@ -32,6 +32,8 @@ $codir/iconv/iconv_prog

>  '

>  ICONV="$test_wrapper_env $run_program_env $ICONV"

>

> +TIMEOUTFACTOR=${TIMEOUTFACTOR:-1}

> +

>  # List of known hangs;

>  # Gathered by running an exhaustive 2 byte input search against glibc-2.28

>  hangarray=(

> @@ -222,7 +224,8 @@ execute_test ()

>  {

>    eval PROG=\"$ICONV\"

>    echo -en "$twobyte" \

> -    | timeout -k 4 3 $PROG $c -f $from -t "$to" &>/dev/null

> +    | timeout -k 4 $((3*$TIMEOUTFACTOR)) \

> +      $PROG $c -f $from -t "$to" &>/dev/null

>    ret=$?

>  }

>

> --

> 2.31.1

>
Florian Weimer via Libc-alpha Oct. 21, 2021, 2:17 p.m. | #2
On 20/10/2021 18:22, Stafford Horne via Libc-alpha wrote:
> Ping,

> 


LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>


> And by the way, Am I allowed to push upstream trivial fixes like this

> without review?  I think reviewing should be mandatory, but some

> projects feel different.


I think the current approach is to still send trivial patches upstream
and after some time announce that you intend to push.  The main problem
is sometime is hard to define what is 'trivial' fixes.

> 

> On Tue, Oct 5, 2021 at 10:56 AM Stafford Horne <shorne@gmail.com> wrote:

>>

>> Currently the timeout for each iconv test is hard coded to 3 seconds.

>> On my OpenRISC test platform this is too slow and the test fails with a

>> HANG error.

>>

>> This change uses the available TIMEOUTFACTOR to compute the timeout.

>> The default value is still 3.

>> ---

>>  iconv/tst-iconv_prog.sh | 5 ++++-

>>  1 file changed, 4 insertions(+), 1 deletion(-)

>>

>> diff --git a/iconv/tst-iconv_prog.sh b/iconv/tst-iconv_prog.sh

>> index 14b7c08c91..2505f0f371 100644

>> --- a/iconv/tst-iconv_prog.sh

>> +++ b/iconv/tst-iconv_prog.sh

>> @@ -32,6 +32,8 @@ $codir/iconv/iconv_prog

>>  '

>>  ICONV="$test_wrapper_env $run_program_env $ICONV"

>>

>> +TIMEOUTFACTOR=${TIMEOUTFACTOR:-1}

>> +

>>  # List of known hangs;

>>  # Gathered by running an exhaustive 2 byte input search against glibc-2.28

>>  hangarray=(

>> @@ -222,7 +224,8 @@ execute_test ()

>>  {

>>    eval PROG=\"$ICONV\"

>>    echo -en "$twobyte" \

>> -    | timeout -k 4 3 $PROG $c -f $from -t "$to" &>/dev/null

>> +    | timeout -k 4 $((3*$TIMEOUTFACTOR)) \

>> +      $PROG $c -f $from -t "$to" &>/dev/null

>>    ret=$?

>>  }

>>

>> --

>> 2.31.1

>>

Patch

diff --git a/iconv/tst-iconv_prog.sh b/iconv/tst-iconv_prog.sh
index 14b7c08c91..2505f0f371 100644
--- a/iconv/tst-iconv_prog.sh
+++ b/iconv/tst-iconv_prog.sh
@@ -32,6 +32,8 @@  $codir/iconv/iconv_prog
 '
 ICONV="$test_wrapper_env $run_program_env $ICONV"
 
+TIMEOUTFACTOR=${TIMEOUTFACTOR:-1}
+
 # List of known hangs;
 # Gathered by running an exhaustive 2 byte input search against glibc-2.28
 hangarray=(
@@ -222,7 +224,8 @@  execute_test ()
 {
   eval PROG=\"$ICONV\"
   echo -en "$twobyte" \
-    | timeout -k 4 3 $PROG $c -f $from -t "$to" &>/dev/null
+    | timeout -k 4 $((3*$TIMEOUTFACTOR)) \
+      $PROG $c -f $from -t "$to" &>/dev/null
   ret=$?
 }