[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:19:41 UTC 2023
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?
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