[igt-dev] [PATCH i-g-t, v2] i915/gem_ctx_param: Add subtests description

Katarzyna Dec katarzyna.dec at intel.com
Mon Nov 23 11:44:14 UTC 2020


On Fri, Nov 20, 2020 at 08:02:42PM +0530, apoorva1.singh at intel.com wrote:
> From: Apoorva Singh <apoorva1.singh at intel.com>
> 
> Add description for all subtests of this test
> 
> v2: Modified few descriptions to be more specific
> 
> Signed-off-by: Apoorva Singh <apoorva1.singh at intel.com>
> Cc: Melkaveri, Arjun <arjun.melkaveri at intel.com>
> Cc: Dec, Katarzyna <katarzyna.dec at intel.com>
> ---
>  tests/i915/gem_ctx_param.c | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
> 
> diff --git a/tests/i915/gem_ctx_param.c b/tests/i915/gem_ctx_param.c
> index 72dcb973..ab0e3007 100644
> --- a/tests/i915/gem_ctx_param.c
> +++ b/tests/i915/gem_ctx_param.c
> @@ -265,23 +265,29 @@ igt_main
>  			arg.param = I915_CONTEXT_PARAM_BANNABLE;
>  	}
>  
> +	igt_describe("Basic test for context get/set param ioctls using valid context");
>  	igt_subtest("basic") {
>  		arg.ctx_id = ctx;
>  		gem_context_get_param(fd, &arg);
>  		gem_context_set_param(fd, &arg);
>  	}
>  
> +	igt_describe("Basic test for context get/set param ioctls using default context");
>  	igt_subtest("basic-default") {
>  		arg.ctx_id = 0;
>  		gem_context_get_param(fd, &arg);
>  		gem_context_set_param(fd, &arg);
>  	}
>  
> +	igt_describe("Verify that context get param ioctl using invalid context "
> +	       "returns relevant error");
>  	igt_subtest("invalid-ctx-get") {
>  		arg.ctx_id = 2;
>  		igt_assert_eq(__gem_context_get_param(fd, &arg), -ENOENT);
>  	}
>  
> +	igt_describe("Verify that context set param ioctl using invalid context "
> +	       "returns relevant error");
>  	igt_subtest("invalid-ctx-set") {
>  		arg.ctx_id = ctx;
>  		gem_context_get_param(fd, &arg);
> @@ -289,6 +295,7 @@ igt_main
>  		igt_assert_eq(__gem_context_set_param(fd, &arg), -ENOENT);
>  	}
>  
> +	igt_describe("Verify that context get param ioctl returns valid size for valid context");
>  	igt_subtest("invalid-size-get") {
>  		arg.ctx_id = ctx;
>  		arg.size = 8;
> @@ -296,6 +303,8 @@ igt_main
>  		igt_assert(arg.size == 0);
>  	}
>  
> +	igt_describe("Verify that context set param ioctl using invalid size "
> +	       "returns relevant error");
>  	igt_subtest("invalid-size-set") {
>  		arg.ctx_id = ctx;
>  		gem_context_get_param(fd, &arg);
> @@ -304,6 +313,7 @@ igt_main
>  		arg.size = 0;
>  	}
>  
> +	igt_describe("Verify that context set param ioctl returns relevant error in non root mode");
>  	igt_subtest("non-root-set") {
>  		igt_fork(child, 1) {
>  			igt_drop_root();
> @@ -317,6 +327,7 @@ igt_main
>  		igt_waitchildren();
>  	}
>  
> +	igt_describe("Verify that context set param ioctl works fine in root mode");
>  	igt_subtest("root-set") {
>  		arg.ctx_id = ctx;
>  		gem_context_get_param(fd, &arg);
> @@ -326,6 +337,8 @@ igt_main
>  
>  	arg.param = I915_CONTEXT_PARAM_NO_ZEROMAP;
>  
> +	igt_describe("Validates context set param ioctl in non root mode with param "
> +	       "set to no zeromap");
>  	igt_subtest("non-root-set-no-zeromap") {
>  		igt_fork(child, 1) {
>  			igt_drop_root();
> @@ -339,6 +352,7 @@ igt_main
>  		igt_waitchildren();
>  	}
>  
> +	igt_describe("Tests the context set param ioctl with no zeromap enabled in root mode");
>  	igt_subtest("root-set-no-zeromap-enabled") {
>  		arg.ctx_id = ctx;
>  		gem_context_get_param(fd, &arg);
> @@ -346,6 +360,7 @@ igt_main
>  		gem_context_set_param(fd, &arg);
>  	}
>  
> +	igt_describe("Tests the context set param ioctl with no zeromap disabled in root mode");
>  	igt_subtest("root-set-no-zeromap-disabled") {
>  		arg.ctx_id = ctx;
>  		gem_context_get_param(fd, &arg);
> @@ -353,11 +368,14 @@ igt_main
>  		gem_context_set_param(fd, &arg);
>  	}
>  
> +	igt_describe("Tests that multiple contexts can share the same VMA");
>  	igt_subtest("vm")
>  		test_vm(fd);
>  
>  	arg.param = I915_CONTEXT_PARAM_PRIORITY;
>  
> +	igt_describe("Verify that context set param ioctl returns relevant error if driver "
> +	       "doesn't supports assigning custom priorities from userspace");
>  	igt_subtest("set-priority-not-supported") {
>  		igt_require(!gem_scheduler_has_ctx_priority(fd));
>  
> @@ -367,11 +385,13 @@ igt_main
>  		igt_assert_eq(__gem_context_set_param(fd, &arg), -ENODEV);
>  	}
>  
> +	igt_describe("Test performed with context param set to priority");
>  	igt_subtest_group {
>  		igt_fixture {
>  			igt_require(gem_scheduler_has_ctx_priority(fd));
>  		}
>  
> +		igt_describe("Verify that priority is default for newly created context");
>  		igt_subtest("get-priority-new-ctx") {
>  			struct drm_i915_gem_context_param local_arg = arg;
>  			uint32_t local_ctx = gem_context_create(fd);
> @@ -384,6 +404,8 @@ igt_main
>  			gem_context_destroy(fd, local_ctx);
>  		}
>  
> +		igt_describe("Verify that relevant error is returned on setting invalid ctx size "
> +		       "with default priority");
>  		igt_subtest("set-priority-invalid-size") {
>  			struct drm_i915_gem_context_param local_arg = arg;
>  			local_arg.ctx_id = ctx;
> @@ -393,6 +415,7 @@ igt_main
>  			igt_assert_eq(__gem_context_set_param(fd, &local_arg), -EINVAL);
>  		}
>  
> +		igt_describe("Change priority range to test value overflow");
>  		igt_subtest("set-priority-range")
>  			set_priority(fd);
>  	}
> @@ -401,11 +424,15 @@ igt_main
>  
>  	arg.param = -1; /* Should be safely unused for a while */
>  
> +	igt_describe("Checks that fetching context parameters using an unused param value "
> +	       "is erroneous");
>  	igt_subtest("invalid-param-get") {
>  		arg.ctx_id = ctx;
>  		igt_assert_eq(__gem_context_get_param(fd, &arg), -EINVAL);
>  	}
>  
> +	igt_describe("Checks that setting context parameters using an unused param value "
> +	       "is erroneous");
>  	igt_subtest("invalid-param-set") {
>  		arg.ctx_id = ctx;
>  		igt_assert_eq(__gem_context_set_param(fd, &arg), -EINVAL);
LGTM :)
Reviewed-by: Katarzyna Dec <katarzyna.dec at intel.com>

Kasia :)

> -- 
> 2.25.1
> 


More information about the igt-dev mailing list