[igt-dev] [PATCH i-g-t] tests/intel/xe_exec_queue_property: Negative tests for get exec_queue property ioctl
Kumar, Janga Rahul
janga.rahul.kumar at intel.com
Tue Nov 14 15:50:11 UTC 2023
> -----Original Message-----
> From: igt-dev <igt-dev-bounces at lists.freedesktop.org> On Behalf Of
> sai.gowtham.ch at intel.com
> Sent: Tuesday, November 14, 2023 5:58 PM
> To: igt-dev at lists.freedesktop.org; Ch, Sai Gowtham
> <sai.gowtham.ch at intel.com>
> Subject: [igt-dev] [PATCH i-g-t] tests/intel/xe_exec_queue_property: Negative
> tests for get exec_queue property ioctl
>
> From: Sai Gowtham Ch <sai.gowtham.ch at intel.com>
>
> Add Negative tests for get exec_queue property ioctl.
>
> Signed-off-by: Sai Gowtham Ch <sai.gowtham.ch at intel.com>
> ---
> tests/intel/xe_exec_queue_property.c | 77 +++++++++++++++++++++++++++-
> 1 file changed, 76 insertions(+), 1 deletion(-)
>
> diff --git a/tests/intel/xe_exec_queue_property.c
> b/tests/intel/xe_exec_queue_property.c
> index 4e32aefa5..5278304be 100644
> --- a/tests/intel/xe_exec_queue_property.c
> +++ b/tests/intel/xe_exec_queue_property.c
> @@ -4,7 +4,7 @@
> */
>
> /**
> - * TEST: Basic tests to check exec_queue set property functionality
> + * TEST: Basic tests to check exec_queue set/get property functionality
> * Category: Software building block
> * Sub-category: exec queue property
> * Functionality: exec queue set property @@ -108,6 +108,72 @@ static void
> test_property_min_max(int xe, int engine, const char **property)
> test_set_property(xe, property_name, min - 1, -EINVAL); }
>
> +/**
> + * SUBTEST: Invalid-exec-queue
> + * Description: Negative test to check the expected behaviour with invalid
> exec_queue_id.
> + * Test category: functionality test
> + */
> +static void Invalid_exec_queue_id(int xe) {
> + struct drm_xe_exec_queue_get_property args = {
> + .exec_queue_id = 0xffff,
> + .property = XE_EXEC_QUEUE_GET_PROPERTY_BAN,
> + };
> +
> + do_ioctl_err(xe, DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY,
> &args, ENOENT);
> +}
> +
> +/**
> + * SUBTEST: non-zero-reserved
> + * Description: Negative test to check the expected behaviour with non-zero
> reserved.
> + * Test category: functionality test
> + */
> +static void non_zero_reserved(int xe)
> +{
> + struct drm_xe_exec_queue_get_property args = {
> + .reserved[0] = 0xffff,
> + .property = XE_EXEC_QUEUE_GET_PROPERTY_BAN,
> + };
> + uint32_t vm;
> + uint32_t exec_queue;
> +
> + vm = xe_vm_create(xe, 0, 0);
> + exec_queue = xe_exec_queue_create_class(xe, vm,
> DRM_XE_ENGINE_CLASS_COPY);
> + args.exec_queue_id = exec_queue;
> +
> + do_ioctl_err(xe, DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY,
> &args, EINVAL);
> +
> + xe_exec_queue_destroy(xe, exec_queue);
> + xe_vm_destroy(xe, vm);
> +}
> +
> +/**
> + * SUBTEST: invalid-value
This looks like a basic test more than a negative test. Pls update the test name wherever required.
With that change,
Reviewed-by: Janga Rahul Kumar <janga.rahul.kumar at intel.com>
> + * Description: Check if get property value works fine.
> + * Test category: functionality test
> + */
> +static void invalid_value(int xe)
> +{
> + struct drm_xe_exec_queue_get_property args = {
> + .value = -1,
> + .reserved[0] = 0,
> + .property = XE_EXEC_QUEUE_GET_PROPERTY_BAN,
> + };
> +
> + uint32_t exec_queue;
> + uint32_t vm;
> +
> + vm = xe_vm_create(xe, 0, 0);
> + exec_queue = xe_exec_queue_create_class(xe, vm,
> DRM_XE_ENGINE_CLASS_COPY);
> + args.exec_queue_id = exec_queue;
> +
> + do_ioctl(xe, DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY, &args);
> + igt_assert(args.value == 0);
> +
> + xe_exec_queue_destroy(xe, exec_queue);
> + xe_vm_destroy(xe, vm);
> +}
> +
> igt_main
> {
> static const struct {
> @@ -182,6 +248,15 @@ igt_main
> }
> }
>
> + igt_subtest("Invalid-exec-queue")
> + Invalid_exec_queue_id(xe);
> +
> + igt_subtest("non-zero-reserved")
> + non_zero_reserved(xe);
> +
> + igt_subtest("invalid-value")
> + invalid_value(xe);
> +
> igt_fixture {
> xe_device_put(xe);
> drm_close_driver(xe);
> --
> 2.39.1
More information about the igt-dev
mailing list