[libcamera-devel] [PATCH] test: buffer-import: Fix false-positive failure

Niklas Söderlund niklas.soderlund at ragnatech.se
Tue Feb 2 23:06:50 CET 2021


Hi Kieran,

On 2021-02-02 17:34:05 +0000, Kieran Bingham wrote:
> Running the tests failed with the following error on buffer import:
>   "Failed to capture enough frames (got 8 expected at least 8)"
> 
> This indicates that the test did in fact capture enough frames as
> desired by the test. Update the comparison on both buffer-import and
> capture tests accordingly.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

First off I agree with the change,

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

Second is this finding not telling us we are cutting the test criteria 
quiet close? I think we should in a follow up patch either increase the 
time the capture loop is allowed to run or do something more clever as 
capture N frames but fail if FPS drops bellow ~2 or something.

Out of curiosity what device was this observed on?

> ---
>  test/camera/buffer_import.cpp | 2 +-
>  test/camera/capture.cpp       | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp
> index 7ff628269c47..61f4eb92ae95 100644
> --- a/test/camera/buffer_import.cpp
> +++ b/test/camera/buffer_import.cpp
> @@ -138,7 +138,7 @@ protected:
>  		while (timer.isRunning())
>  			dispatcher->processEvents();
>  
> -		if (completeRequestsCount_ <= cfg.bufferCount * 2) {
> +		if (completeRequestsCount_ < cfg.bufferCount * 2) {
>  			std::cout << "Failed to capture enough frames (got "
>  				  << completeRequestsCount_ << " expected at least "
>  				  << cfg.bufferCount * 2 << ")" << std::endl;
> diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp
> index 6d564fe453ac..c4bc21100777 100644
> --- a/test/camera/capture.cpp
> +++ b/test/camera/capture.cpp
> @@ -142,7 +142,7 @@ protected:
>  
>  		unsigned int nbuffers = allocator_->buffers(stream).size();
>  
> -		if (completeRequestsCount_ <= nbuffers * 2) {
> +		if (completeRequestsCount_ < nbuffers * 2) {
>  			cout << "Failed to capture enough frames (got "
>  			     << completeRequestsCount_ << " expected at least "
>  			     << nbuffers * 2 << ")" << endl;
> -- 
> 2.25.1
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list