[LTP] [RFC PATCH 1/1] tst_test.sh: Run cleanup also on timeout

Joerg Vehlow lkml@jv-coder.de
Tue Feb 2 09:19:12 CET 2021


Hi,

On 2/2/2021 8:47 AM, Petr Vorel wrote:
> Also timeout requires to run a test cleanup (e.g. zram01.sh).
> Thus send first SIGINT, but keep also SIGKILL for safety reasons
> (after 5 sec to give cleanup function some time.
+1
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index 69f007d89..35ad6d2d7 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -21,7 +21,7 @@ export TST_LIB_LOADED=1
>   . tst_security.sh
>   
>   # default trap function
> -trap "tst_brk TBROK 'test interrupted'" INT
> +trap "tst_brk TBROK 'test interrupted or timeout'" INT
should be "timed out" for consistency
>   
>   _tst_do_exit()
>   {
> @@ -459,7 +459,7 @@ _tst_setup_timer()
>   
>   	tst_res TINFO "timeout per run is ${h}h ${m}m ${s}s"
>   
> -	sleep $sec && tst_res TBROK "test killed, timeout! If you are running on slow machine, try exporting LTP_TIMEOUT_MUL > 1" && kill -9 -$pid &
> +	sleep $sec && tst_res TBROK "test killed, timeout! If you are running on slow machine, try exporting LTP_TIMEOUT_MUL > 1" && { kill -2 -$pid; sleep 5; kill -9 -$pid; } &
Can we move the timeout handling to a separate function? This is getting 
a tiny bit unreadable...
Can this work?:
_tst_handle_timeout()
{
     tst_res TBROK ...
     kill ....
}
...
sleep $sec && _tst_handle_timeout &

Jörg


More information about the ltp mailing list