[igt-dev] [V5 i-g-t 48/81] tests/kms_flip: Document each subtest for testplan

Karthik B S karthik.b.s at intel.com
Wed Aug 9 04:06:34 UTC 2023


Hi,

On 6/29/2023 8:18 PM, Bhanuprakash Modem wrote:
> Add documentation for all kms tests which is used by IGT testplan
> documentation.
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>   tests/kms_flip.c | 178 ++++++++++++++++++++++++++++++++++++++++++++++-
>   1 file changed, 176 insertions(+), 2 deletions(-)
>
> diff --git a/tests/kms_flip.c b/tests/kms_flip.c
> index d57990240..dd7921656 100755
> --- a/tests/kms_flip.c
> +++ b/tests/kms_flip.c
> @@ -22,8 +22,9 @@
>    */
>   
>   /**
> - * TEST: Tests for validating modeset, dpms and pageflips
> + * TEST: kms flip
>    * Category: Display
> + * Description: Tests for validating modeset, dpms and pageflips
>    */
>   
>   #include "config.h"
> @@ -39,6 +40,169 @@
>   #include <sys/poll.h>
>   #include <sys/time.h>
>   #include <sys/ioctl.h>
> +/**
> + * SUBTEST: 2x-flip-vs-fences
> + * Description: Test for validating modeset, dpms and pageflips with a pair of connected displays
> + * Driver requirement: i915
> + * Functionality: gtt, vblank
Functionality mentions 'gtt', but description is mostly same as the 
overall test description. Could you please make this more specific?
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: 2x-flip-vs-fences-interruptible
> + * Description: Interrupt test for validating modeset, dpms and pageflips with pair of connected displays
> + * Driver requirement: any
> + * Functionality: gtt, vblank
Same as above.
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: flip-vs-fences
> + * Description: Basic test for validating modeset, dpms and pageflips
> + * Driver requirement: i915
> + * Functionality: gtt, vblank
Same as above.
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: flip-vs-fences-interruptible
> + * Description: Interrupt test for validating modeset, dpms and pageflips
> + * Driver requirement: i915
> + * Functionality: gtt, vblank
Same as above.
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + */
> +
> +/**
> + * SUBTEST: %s
> + * Description: Basic test for validating modeset, dpms and pageflips
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @dpms-off-confusion:
> + * @bo-too-big:
> + */
> +
> +/**
> + * SUBTEST: %s
> + * Description: Basic test for validating modeset, dpms and pageflips
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: 2x-%s
> + * Description: Test for validating modeset, dpms and pageflips with a pair of
> + *              connected displays
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @wf_vblank-ts-check:
> + * @blocking-wf_vblank:
> + * @absolute-wf_vblank:
> + * @blocking-absolute-wf_vblank:
> + * @busy-flip:
> + * @plain-flip-ts-check:
> + * @plain-flip-fb-recreate:
> + * @flip-vs-rmfb:
> + * @flip-vs-panning:
> + * @flip-vs-expired-vblank:
> + * @flip-vs-absolute-wf_vblank:
> + * @flip-vs-blocking-wf-vblank:
> + * @flip-vs-modeset-vs-hang:
> + * @flip-vs-panning-vs-hang:
> + * @flip-vs-dpms-off-vs-modeset:
> + * @single-buffer-flip-vs-dpms-off-vs-modeset:
> + * @nonexisting-fb:
> + * @dpms-vs-vblank-race:
> + * @modeset-vs-vblank-race:
> + * @flip-vs-suspend:
> + */
> +
> +/**
> + * SUBTEST: 2x-%s
> + * Description: Test for validating modeset, dpms and pageflips with a pair of
> + *              connected displays
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @plain-flip:
> + * @flip-vs-dpms:
> + * @flip-vs-modeset:
> + * @flip-vs-wf_vblank:
> + */
> +
> +/**
> + * SUBTEST: %s-interruptible
> + * Description: Basic test for validating modeset, dpms and pageflips
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @dpms-off-confusion:
> + * @bo-too-big:
> + */
> +
> +/**
> + * SUBTEST: %s-interruptible
> + * Description: Basic test for validating modeset, dpms and pageflips
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * SUBTEST: 2x-%s-interruptible
> + * Description: Test for validating modeset, dpms and pageflips with a pair of
> + *              connected displays
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + *
> + * arg[1]:
> + *
> + * @wf_vblank-ts-check:
> + * @absolute-wf_vblank:
> + * @blocking-absolute-wf_vblank:
> + * @plain-flip:
> + * @plain-flip-ts-check:
> + * @plain-flip-fb-recreate:
> + * @flip-vs-rmfb:
> + * @flip-vs-panning:
> + * @flip-vs-expired-vblank:
> + * @flip-vs-absolute-wf_vblank:
> + * @flip-vs-wf_vblank:
> + * @flip-vs-dpms-off-vs-modeset:
> + * @single-buffer-flip-vs-dpms-off-vs-modeset:
> + * @nonexisting-fb:
> + * @dpms-vs-vblank-race:
> + * @modeset-vs-vblank-race:
> + * @flip-vs-suspend:
> + */
> +

All the above subtests are having mostly common/generic descriptions. 
Could you please update this to make it more subtest specific.

Thanks,
Karthik.B.S
>   #ifdef HAVE_LINUX_KD_H
>   #include <linux/kd.h>
>   #elif HAVE_SYS_KD_H
> @@ -1564,6 +1728,7 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
>   /**
>    * SUBTEST: basic-flip-vs-%s
>    * Description: Basic test to valide %arg[1]
> + * Driver requirement: any
>    * Test category: functionality test
>    * Run type: BAT
>    * Functionality: vblank
> @@ -1577,12 +1742,12 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
>    *
>    * SUBTEST: basic-plain-flip
>    * Description: Basic test for validating page flip
> + * Driver requirement: any
>    * Test category: functionality test
>    * Run type: BAT
>    * Functionality: vblank
>    * Mega feature: General Display Features
>    */
> -
>   static void run_test(int duration, int flags)
>   {
>   	struct test_output o;
> @@ -1759,6 +1924,15 @@ static void kms_flip_exit_handler(int sig)
>   		kmstest_set_connector_dpms(drm_fd, last_connector, DRM_MODE_DPMS_ON);
>   }
>   
> +/**
> + * SUBTEST: nonblocking-read
> + * Description: Tests that nonblocking reading fails correctly
> + * Driver requirement: any
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + * Run type: FULL
> + * Test category: functionality test
> + */
>   static void test_nonblocking_read(int in)
>   {
>   	char buffer[1024];


More information about the igt-dev mailing list