[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