From 4115d04ae0e8cc5d7c1c07265ba620f3b13a74c3 Mon Sep 17 00:00:00 2001 From: Marcin Hajder Date: Tue, 12 Aug 2025 17:40:13 +0200 Subject: [PATCH] Added test to verify negative result of clSetKernelArg with CL_INVALID_ARG_INDEX (#2458) Related to #2282, according to work plan from [here](https://github.com/KhronosGroup/OpenCL-CTS/issues/2282#issuecomment-3069182773) --- test_conformance/api/test_kernels.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test_conformance/api/test_kernels.cpp b/test_conformance/api/test_kernels.cpp index fc619bf8..1446ade8 100644 --- a/test_conformance/api/test_kernels.cpp +++ b/test_conformance/api/test_kernels.cpp @@ -726,6 +726,31 @@ REGISTER_TEST(negative_set_immutable_memory_to_writeable_kernel_arg) return TEST_PASS; } +REGISTER_TEST(negative_invalid_arg_index) +{ + cl_int error = CL_SUCCESS; + clProgramWrapper program; + clKernelWrapper kernel; + + // Setup the test + error = create_single_kernel_helper(context, &program, nullptr, 1, + sample_single_test_kernel, nullptr); + test_error(error, "Unable to build test program"); + + kernel = clCreateKernel(program, "sample_test", &error); + test_error(error, "Unable to get sample_test kernel for built program"); + + // Run the test - 2 index is out or range - expected CL_INVALID_ARG_INDEX + error = clSetKernelArg(kernel, 2, sizeof(cl_mem), nullptr); + test_failure_error_ret( + error, CL_INVALID_ARG_INDEX, + "clSetKernelArg is supposed to fail with CL_INVALID_ARG_INDEX when " + "arg_index is not a valid argument index", + TEST_FAIL); + + return TEST_PASS; +} + REGISTER_TEST(negative_invalid_arg_size_local) { cl_int error = CL_SUCCESS;