[igt-dev] [i-g-t V6 50/81] tests/kms_getfb: Document each subtest for testplan

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Mon Aug 14 07:05:15 UTC 2023


Hi Karthik,

On Mon-14-08-2023 10:21 am, Karthik B S wrote:
> 
> On 8/12/2023 12:16 AM, Bhanuprakash Modem wrote:
>> Add documentation for all kms tests which is used by IGT testplan
>> documentation.
>>
>> V2: - Fix functionality
>>
>> Cc: Karthik B S <karthik.b.s at intel.com>
>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
>> ---
>>   tests/kms_getfb.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 90 insertions(+)
>>
>> diff --git a/tests/kms_getfb.c b/tests/kms_getfb.c
>> index afcf07fe8..1caa46e23 100644
>> --- a/tests/kms_getfb.c
>> +++ b/tests/kms_getfb.c
>> @@ -27,6 +27,11 @@
>>    *
>>    */
>> +/**
>> + * TEST: kms getfb
>> + * Category: Display
>> + * Description: Tests GETFB and GETFB2 ioctls.
>> + */
>>   #include "igt.h"
>>   #include <unistd.h>
>>   #include <stdlib.h>
>> @@ -169,6 +174,22 @@ static uint32_t get_any_prop_id(int fd)
>>       return 0;
>>   }
>> +/**
>> + * SUBTEST: getfb-handle-%s
>> + * Description: Tests error handling %arg[1]
>> + * Driver requirement: any
>> + * Functionality: kms_gem_interop
>> + * Mega feature: General Display Features
>> + * Run type: FULL
>> + * Test category: functionality test
>> + *
>> + * arg[1]:
>> + *
>> + * @closed:       when passing a handle that has been closed.
>> + * @not-fb:       when passing an invalid handle.
>> + * @valid:        when passing an valid handle.
>> + * @zero:         for a zero'd input.
>> + */
>>   static void test_handle_input(int fd)
>>   {
>>       struct drm_mode_fb_cmd2 add = {};
>> @@ -224,6 +245,30 @@ static void test_handle_input(int fd)
>>           gem_close(fd, add.handles[0]);
>>   }
>> +/**
>> + * SUBTEST: getfb-reject-ccs
>> + * Description: Tests error handling while requesting CCS buffers it 
>> should
>> + *              refuse because getfb supports returning a single 
>> buffer handle.
>> + * Driver requirement: any
>> + * Functionality: ccs, kms_gem_interop, tiling
> 
> Hi,
> 
> Do we need 'tiling' here?

I think we need a tiling support to us the CCS modifiers. Hence added it 
here.

- Bhanu

> 
> Thanks,
> Karthik.B.S
>> + * Mega feature: General Display Features
>> + * Run type: FULL
>> + * Test category: functionality test
>> + *
>> + * SUBTEST: getfb-%s-different-handles
>> + * Description: Tests error handling while requesting for two 
>> different handles
>> + *              from %arg[1].
>> + * Driver requirement: any
>> + * Functionality: kms_gem_interop
>> + * Mega feature: General Display Features
>> + * Run type: FULL
>> + * Test category: functionality test
>> + *
>> + * arg[1]:
>> + *
>> + * @addfb:           same fd
>> + * @repeated:        different fd
>> + */
>>   static void test_duplicate_handles(int fd)
>>   {
>>       struct drm_mode_fb_cmd2 add = {};
>> @@ -289,6 +334,37 @@ static void test_duplicate_handles(int fd)
>>       }
>>   }
>> +/**
>> + * SUBTEST: getfb2-accept-ccs
>> + * Description: Tests outputs are correct when retrieving a CCS 
>> framebuffer.
>> + * Driver requirement: any
>> + * Functionality: ccs, kms_gem_interop, tiling
>> + * Mega feature: General Display Features
>> + * Run type: FULL
>> + * Test category: functionality test
>> + *
>> + * SUBTEST: getfb2-into-addfb2
>> + * Description: Output check by passing the output of GETFB2 into 
>> ADDFB2.
>> + * Driver requirement: any
>> + * Functionality: kms_gem_interop
>> + * Mega feature: General Display Features
>> + * Run type: FULL
>> + * Test category: functionality test
>> + *
>> + * SUBTEST: getfb2-handle-%s
>> + * Description: Tests error handling %arg[1].
>> + * Driver requirement: any
>> + * Functionality: kms_gem_interop
>> + * Mega feature: General Display Features
>> + * Run type: FULL
>> + * Test category: functionality test
>> + *
>> + * arg[1]:
>> + *
>> + * @closed:                  when passing a handle that has been closed
>> + * @not-fb:                  when passing an invalid handle
>> + * @zero:                    for a zero'd input
>> + */
>>   static void test_getfb2(int fd)
>>   {
>>       struct drm_mode_fb_cmd2 add_basic = {};
>> @@ -397,6 +473,20 @@ static void test_getfb2(int fd)
>>       }
>>   }
>> +/**
>> + * SUBTEST: %s-handle-protection
>> + * Description: Make sure %arg[1] return handles if caller is 
>> non-root or non-master.
>> + * Driver requirement: any
>> + * Functionality: kms_gem_interop
>> + * Mega feature: General Display Features
>> + * Run type: FULL
>> + * Test category: functionality test
>> + *
>> + * arg[1]:
>> + *
>> + * @getfb:      GETFB ioctl
>> + * @getfb2:     GETFB2 ioctl
>> + */
>>   static void test_handle_protection(void) {
>>       int non_master_fd;
>>       struct drm_mode_fb_cmd2 non_master_add = {};


More information about the igt-dev mailing list