[igt-dev] [PATCH i-g-t 2/2] tests/i915_query: split garbage test

Lionel Landwerlin lionel.g.landwerlin at intel.com
Tue Mar 13 10:37:18 UTC 2018


On 13/03/18 09:50, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2018-03-13 09:17:55)
>> Unfortunately I forgot that some of those tests require rcs topology
>> support which we don't have on Sandybridge. This change split the test
>> in 2 (first part available on all platforms, second part only with rcs
>> topology support).
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105475
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> Aside, why are the flags prefixed with DRM_I915_QUERY and not just
> I915_QUERY matching the rest of the uAPI? In fact, the whole perf abi is
> special. ARGH.

Argh...

Is it too late for to send a fix?

Since it's only one DRM_I915_QUERY_TOPOLOGY_INFO, can we add a new 
define properly named an make the wrongly named one a macro to that?
And make sure it doesn't happen in the future? (at least for this define)

Thanks for the review.

>
>> ---
>>   tests/i915_query.c | 20 +++++++++++++++-----
>>   1 file changed, 15 insertions(+), 5 deletions(-)
>>
>> diff --git a/tests/i915_query.c b/tests/i915_query.c
>> index 328c54bc..c7de8cbd 100644
>> --- a/tests/i915_query.c
>> +++ b/tests/i915_query.c
>> @@ -69,9 +69,7 @@ static bool has_query_supports(int fd)
>>   static void test_query_garbage(int fd)
>>   {
>>          struct drm_i915_query query;
>> -       struct drm_i915_query_item items[2];
>> -       struct drm_i915_query_item *items_ptr;
>> -       int i, n_items;
>> +       struct drm_i915_query_item item;
>>   
>>          /* Verify that invalid query pointers are rejected. */
>>          igt_assert_eq(__i915_query(fd, NULL), -EFAULT);
>> @@ -90,8 +88,15 @@ static void test_query_garbage(int fd)
>>          i915_query_items_err(fd, (void *) 0, 1, EFAULT);
>>   
>>          /* Test the invalid query id = 0. */
>> -       memset(items, 0, sizeof(items));
>> -       i915_query_items_err(fd, items, 1, EINVAL);
>> +       memset(&item, 0, sizeof(item));
>> +       i915_query_items_err(fd, &item, 1, EINVAL);
>> +}
>> +
>> +static void test_query_garbage_items(int fd)
>> +{
>> +       struct drm_i915_query_item items[2];
>> +       struct drm_i915_query_item *items_ptr;
>> +       int i, n_items;
>>   
>>          /*
>>           * Query item flags field is currently valid only if equals to 0.
>> @@ -486,6 +491,11 @@ igt_main
>>          igt_subtest("query-garbage")
>>                  test_query_garbage(fd);
>>   
>> +       igt_subtest("query-garbage-items") {
>> +               igt_require(query_topology_supported(fd));
>> +               test_query_garbage_items(fd);
>> +       }
>> +
>>          igt_subtest("query-topology-kernel-writes") {
>>                  igt_require(query_topology_supported(fd));
>>                  test_query_topology_kernel_writes(fd);
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
> -Chris
>



More information about the igt-dev mailing list