[PATCH v2 4/6] test: fence: Increase timeout for fence test

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Jun 3 10:51:46 CEST 2024


Quoting Laurent Pinchart (2024-05-29 16:43:39)
> On slower machines, a 1s timeout to capture frames with vimc can be too
> short and cause test failures. Make the timeout proportional to the
> number of frames expected to be captured, using a conservative low
> estimate of the frame rate at 2fps.
> 
> By itself, that change could increase the test time quite substantially
> on fast platforms, so break from the capture loop as soon as we capture
> enough frames.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> Changes since v1:
> 
> - Update comment
> ---
>  test/fence.cpp | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/test/fence.cpp b/test/fence.cpp
> index a8fba7284d82..8095b22895c7 100644
> --- a/test/fence.cpp
> +++ b/test/fence.cpp
> @@ -327,10 +327,14 @@ int FenceTest::run()
>         Timer fenceTimer;
>         fenceTimer.timeout.connect(this, &FenceTest::signalFence);
>  
> -       /* Loop for one second. */
> +       /*
> +        * Loop long enough for all requests to complete, allowing 500ms per
> +        * request.
> +        */

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

>         Timer timer;
> -       timer.start(1000ms);
> -       while (timer.isRunning() && expectedCompletionResult_) {
> +       timer.start(500ms * (signalledRequestId_ + 1));
> +       while (timer.isRunning() && expectedCompletionResult_ &&
> +              completedRequestId_ <= signalledRequestId_ + 1) {
>                 if (completedRequestId_ == signalledRequestId_ - 1 && setFence_)
>                         /*
>                          * The request just before signalledRequestId_ has just
> -- 
> Regards,
> 
> Laurent Pinchart
>


More information about the libcamera-devel mailing list