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

Dan Scally dan.scally at ideasonboard.com
Sun Jun 2 00:14:53 CEST 2024


On 29/05/2024 16:43, Laurent Pinchart wrote:
> 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>
Reviewed-by: Daniel Scally <dan.scally 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.
> +	 */
>   	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


More information about the libcamera-devel mailing list