[libcamera-devel] [PATCH 2/2] tests: v4l2_compat: Check v4l2-compliance and v4l2-ctl versions

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Jul 10 17:31:09 CEST 2020


Hi Paul,

Thank you for the patch.

On Fri, Jul 10, 2020 at 11:15:08PM +0900, Paul Elder wrote:
> v4l2-compliance and v4l2-ctl with version 1.20 and before will fail with
> v4l2-compat. Check the versions of v4l2-compliance and v4l2-ctl before
> continuing, though since neither of them currently are able to print
> their version, simply checking if they can do so is sufficient.
> 
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> 
> ---
> Obviously this depends on v4l2-compliance and v4l2-ctl having --version,
> so that needs to be accepted first before this can be merged.

What happens with the --version arguments are not supported ? Will the
script raise an exception, or just return TestSkip ? In the latter case
I think we can merge this patch once the concept of the --version
argument is accepted.

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  test/v4l2_compat/v4l2_compat_test.py | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/test/v4l2_compat/v4l2_compat_test.py b/test/v4l2_compat/v4l2_compat_test.py
> index 8a8e59e..c97ae79 100755
> --- a/test/v4l2_compat/v4l2_compat_test.py
> +++ b/test/v4l2_compat/v4l2_compat_test.py
> @@ -98,11 +98,21 @@ def main(argv):
>          print('v4l2-compliance is not available')
>          return TestSkip
>  
> +    ret, _ = run_with_stdout(v4l2_compliance, '--version')
> +    if (ret != 0):
> +        print('v4l2-compliance version >= 1.21.0 required')
> +        return TestSkip
> +
>      v4l2_ctl = shutil.which('v4l2-ctl')
>      if v4l2_ctl is None:
>          print('v4l2-ctl is not available')
>          return TestSkip
>  
> +    ret, _ = run_with_stdout(v4l2_ctl, '--version')
> +    if (ret != 0):
> +        print('v4l2-ctl version >= 1.21.0 required')
> +        return TestSkip
> +
>      dev_nodes = glob.glob('/dev/video*')
>      if len(dev_nodes) == 0:
>          print('no video nodes available to test with')

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list