[LTP] [Automated-testing] [PATCH v3 22/29] fuzzy_sync: Convert to runtime
Petr Vorel
pvorel@suse.cz
Tue May 17 13:07:13 CEST 2022
Hi all,
> Hi!
> > >> I guess the root cause is that 'pair->time_exec_start' has a possibility
> > >> to reach zero. in pty03 it has ".tcnt = 9" which made the
> > >> tst_fzsync_pair_reset()
> > >> to be re-run many times, but in that function 'pair->time_exec_start' will
> > >> be set only based on the original .max_runtime, with time elapsed the
> > >> remaining time tends to be zero.
> > > I guess that that the interaction of tcnt and runtime is not optimal
> > > here. You are right that as long as we call tst_fzsync_pair_reset() on
> > > each invocation of the run() function we may eventually get to state
> > > where the runtime is exhausted, especially on slower hardware we end up
> > > with division by zero and overflow.
> > > The cleanest solution would be to rewrite the test to use .test_variants = 9
> > > and setting the .max_runtime to a smaller value. That way we would have
> > > precisely defined runtime for each iteration. What do you think?
> > Or each test case (defined by tcnt) could be given an equal share of the
> > runtime?
LGTM
> That would be solution as well. If everyone agrees on this I will go
> with this version, it should be as easy as:
> diff --git a/lib/tst_test.c b/lib/tst_test.c
> index dad8aad92..69d7799c3 100644
> --- a/lib/tst_test.c
> +++ b/lib/tst_test.c
> @@ -1349,6 +1349,8 @@ static void run_tests(void)
> if (results_equal(&saved_results, results))
> tst_brk(TBROK, "Test %i haven't reported results!", i);
> +
> + kill(getppid(), SIGUSR1);
> }
> }
> With this we do reset the test timeout after each test iteration.
+1.
Kind regards,
Petr
More information about the ltp
mailing list