[Linux-kernel-mentees] [PATCH v4l-utils] test-media: add support for vidtv

Hans Verkuil hverkuil at xs4all.nl
Thu Jan 28 14:36:22 UTC 2021


Hi Daniel,

On 05/01/2021 14:17, Daniel W. S. Almeida wrote:
> From: "Daniel W. S. Almeida" <dwlsalmeida at gmail.com>
> 
> Add support for vidtv at the test-media script so that automated testing
> is possible. Proper compliance tests are still pending.

I've tried this, but something is wrong: 'media-ctl -p' shows an empty
topology, ditto with contrib/test/mc_nextgen_test.

For the same reason 'v4l2-compliance -M0' fails with:

 fail: v4l2-test-media.cpp(120): !topology.num_entities

I'm not sure what's going on here, but it needs some more work.

In the meantime I'll merge this patch since it doesn't hurt.

Regards,

	Hans

> 
> Signed-off-by: Daniel W. S. Almeida <dwlsalmeida at gmail.com>
> ---
>  contrib/test/test-media | 72 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 72 insertions(+)
> 
> diff --git a/contrib/test/test-media b/contrib/test/test-media
> index 1c1d2e37b..86a2e081a 100755
> --- a/contrib/test/test-media
> +++ b/contrib/test/test-media
> @@ -4,6 +4,7 @@
>  #
>  # Copyright 2019 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
>  
> +vidtv=0
>  vivid=0
>  vim2m=0
>  vimc=0
> @@ -51,6 +52,7 @@ if [ -z "$1" ]; then
>  	echo "-32: use v4l2-ctl-32 and v4l2-compliance-32 to test the 32 bit compat layer"
>  	echo
>  	echo Test Targets:
> +	echo "vidtv: test the vidtv driver"
>  	echo "vivid: test the vivid driver"
>  	echo "vim2m: test the vim2m driver"
>  	echo "vimc: test the vimc driver"
> @@ -96,6 +98,7 @@ while [ ! -z "$1" ]; do
>  		fi
>  		;;
>  	all)
> +		vidtv=1
>  		vivid=1
>  		vim2m=1
>  		vimc=1
> @@ -109,6 +112,9 @@ while [ ! -z "$1" ]; do
>  		vimc=1
>  		vicodec=1
>  		;;
> +	vidtv)
> +		vidtv=1
> +		;;
>  	vivid)
>  		vivid=1
>  		;;
> @@ -162,6 +168,72 @@ $v4l2_ctl -z platform:vivid-002 -d vivid-002-vid-out -o1 -x width=3840,height=21
>  
>  echo
>  
> +if [ $vidtv -eq 1 ]; then
> +	rmmod vidtv 2&>/dev/null
> +	modprobe vidtv
> +	sleep 2
> +	dmesg -n notice
> +	echo
> +
> +	if ! media-ctl -d platform:vidtv -p ; then
> +		echo "FAIL: the vidtv module failed to load" | tee -a $tmp
> +		echo "Grand Total for vidtv: Succeeded: 0, Failed: 1, Warnings: 0" | tee -a $tmp
> +		echo "Final Summary: 1, Succeeded: 0, Failed: 1, Warnings: 0"
> +		rmmod vidtv
> +		exit 0
> +	fi
> +
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo unbind vidtv
> +	echo
> +	echo -n vidtv.0 >/sys/bus/platform/drivers/vidtv/unbind
> +	sleep $unbind_time
> +	echo
> +	echo rebind vidtv
> +	echo
> +	echo -n vidtv.0 >/sys/bus/platform/drivers/vidtv/bind
> +	sleep 1
> +	echo
> +	echo second unbind vidtv
> +	echo
> +	sleep 1
> +	echo
> +	echo -n vidtv.0 >/sys/bus/platform/drivers/vidtv/unbind
> +	sleep $reunbind_time
> +	echo
> +	echo rmmod vidtv
> +	echo
> +	rmmod vidtv
> +	sleep $rmmod_time
> +	if [ $kmemleak -eq 1 ]; then
> +		echo
> +		echo kmemleak results for vidtv:
> +		echo
> +		echo scan >/sys/kernel/debug/kmemleak
> +		cat /sys/kernel/debug/kmemleak
> +		echo
> +		echo end of kmemleak results
> +		echo clear >/sys/kernel/debug/kmemleak
> +	fi
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +	echo
> +
> +fi
> +
>  if [ $vivid -eq 1 ]; then
>  	dmesg -n notice
>  	echo
> 



More information about the Linux-kernel-mentees mailing list