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

Karthik B S karthik.b.s at intel.com
Mon Aug 14 07:42:21 UTC 2023


On 8/14/2023 1:08 PM, Modem, Bhanuprakash wrote:
> Hi Karthik,
>
> On Mon-14-08-2023 12:49 pm, Karthik B S wrote:
>>
>> On 8/14/2023 12:35 PM, Modem, Bhanuprakash wrote:
>>> 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.
>>
>> But I can only see 'DRM_FORMAT_MOD_LINEAR' in the test. What am I 
>> missing here?
>
> Please check
>
> igt_subtest("getfb2-accept-ccs") --> get_ccs_fb()
>
> https://cgit.freedesktop.org/drm/igt-gpu-tools/tree/tests/kms_getfb.c#n349 
>

Ah right. Thanks for pointing this out.

Reviewed-by: Karthik B S <karthik.b.s at intel.com>

>
> - Bhanu
>
>>
>> Thanks,
>> Karthik.B.S
>>>
>>> - 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