[igt-dev] [i-g-t 1/2] tests/kms_feature_discovery: Fix display subtest

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Mon Nov 27 13:01:46 UTC 2023


Hi Swati,

On 23-11-2023 11:49 am, Sharma, Swati2 wrote:
> Hi Bhanu,
> 
> With this change, test is passing on atsm
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10248/bat-atsm-1/igt@kms_feature_discovery@display.html

drmModeGetResources() is expected to return 0 on display supported 
platforms and -EOPNOTSUPP error in case of non-display platforms.

Hence it is expected PASS. Test will fail if we get any return value 
other than 0 & EOPNOTSUPP.

- Bhanu

> 
> 
> On 21-Nov-23 1:24 PM, Bhanuprakash Modem wrote:
>> Instead of doing nothing, check the connected platform really
>> supports the display or not.
>>
>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
>> ---
>>   tests/kms_feature_discovery.c | 22 ++++++++++++++--------
>>   1 file changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/tests/kms_feature_discovery.c 
>> b/tests/kms_feature_discovery.c
>> index 428f97ffe..81064aa0e 100644
>> --- a/tests/kms_feature_discovery.c
>> +++ b/tests/kms_feature_discovery.c
>> @@ -30,8 +30,7 @@
>>    *        anything else means we have a serious problem.
>>    *
>>    * SUBTEST: display
>> - * Description: Make sure that we have display support with
>> - *         some outputs connected.
>> + * Description: Make sure that we have display support.
>>    * Driver requirement: i915, xe
>>    * Functionality: feature_discovery
>>    * Mega feature: General Display Features
>> @@ -97,18 +96,25 @@ igt_main {
>>       igt_fixture {
>>           fd = drm_open_driver_master(DRIVER_ANY);
>>           debugfs_fd = igt_debugfs_dir(fd);
>> +
>> +        errno = 0;
>>       }
>>       igt_subtest_group {
>> -        igt_fixture {
>> -            igt_display_require(&display, fd);
>> -        }
>> -
>> -        igt_describe("Make sure that we have display support with 
>> some outputs connected.");
>> +        igt_describe("Make sure that we have display support.");
>>           igt_subtest("display") {
>> -            /* will skip because of the fixture */
>> +            drmModeResPtr resources = drmModeGetResources(fd);
>> +
>> +            /* Operation not supported on non-display platforms. */
>> +            if (!resources)
>> +                igt_assert_eq(errno, EOPNOTSUPP);
>> +
>> +            drmModeFreeResources(resources);
>>           }
>> +        igt_fixture
>> +            igt_display_require(&display, fd);
>> +
>>           igt_subtest_group {
>>               volatile int output_count = 0;
>>               igt_output_t *output;


More information about the igt-dev mailing list