@@ -263,4 +263,61 @@ HWTEST_F(clSetKernelExecInfoTests, givenInvalidThreadArbitrationPolicyWhenSettin
263263 );
264264 EXPECT_EQ (CL_INVALID_VALUE, retVal);
265265}
266+
267+ HWTEST_F (clSetKernelExecInfoTests, givenInvalidParamSizeWhenSettingKernelExecutionTypeThenClInvalidValueErrorIsReturned) {
268+ cl_execution_info_kernel_type_intel kernelExecutionType;
269+
270+ retVal = clSetKernelExecInfo (
271+ pMockKernel, // cl_kernel kernel
272+ CL_KERNEL_EXEC_INFO_KERNEL_TYPE_INTEL, // cl_kernel_exec_info param_name
273+ sizeof (cl_execution_info_kernel_type_intel) - 1 , // size_t param_value_size
274+ &kernelExecutionType // const void *param_value
275+ );
276+ EXPECT_EQ (CL_INVALID_VALUE, retVal);
277+ }
278+
279+ HWTEST_F (clSetKernelExecInfoTests, givenInvalidParamValueWhenSettingKernelExecutionTypeThenClInvalidValueErrorIsReturned) {
280+ retVal = clSetKernelExecInfo (
281+ pMockKernel, // cl_kernel kernel
282+ CL_KERNEL_EXEC_INFO_KERNEL_TYPE_INTEL, // cl_kernel_exec_info param_name
283+ sizeof (cl_execution_info_kernel_type_intel), // size_t param_value_size
284+ nullptr // const void *param_value
285+ );
286+ EXPECT_EQ (CL_INVALID_VALUE, retVal);
287+ }
288+
289+ HWTEST_F (clSetKernelExecInfoTests, givenDifferentExecutionTypesWhenSettingAdditionalKernelInfoThenCorrectValuesAreSet) {
290+ cl_kernel_exec_info paramName = CL_KERNEL_EXEC_INFO_KERNEL_TYPE_INTEL;
291+ size_t paramSize = sizeof (cl_execution_info_kernel_type_intel);
292+ cl_execution_info_kernel_type_intel kernelExecutionType = -1 ;
293+
294+ retVal = clSetKernelExecInfo (
295+ pMockKernel, // cl_kernel kernel
296+ paramName, // cl_kernel_exec_info param_name
297+ paramSize, // size_t param_value_size
298+ &kernelExecutionType // const void *param_value
299+ );
300+ EXPECT_EQ (CL_INVALID_VALUE, retVal);
301+
302+ kernelExecutionType = CL_KERNEL_EXEC_INFO_DEFAULT_TYPE_INTEL;
303+ retVal = clSetKernelExecInfo (
304+ pMockKernel, // cl_kernel kernel
305+ paramName, // cl_kernel_exec_info param_name
306+ paramSize, // size_t param_value_size
307+ &kernelExecutionType // const void *param_value
308+ );
309+ EXPECT_EQ (CL_SUCCESS, retVal);
310+ EXPECT_EQ (KernelExecutionType::Default, pMockKernel->executionType );
311+
312+ kernelExecutionType = CL_KERNEL_EXEC_INFO_CONCURRENT_TYPE_INTEL;
313+ retVal = clSetKernelExecInfo (
314+ pMockKernel, // cl_kernel kernel
315+ paramName, // cl_kernel_exec_info param_name
316+ paramSize, // size_t param_value_size
317+ &kernelExecutionType // const void *param_value
318+ );
319+ EXPECT_EQ (CL_SUCCESS, retVal);
320+ EXPECT_EQ (KernelExecutionType::Concurrent, pMockKernel->executionType );
321+ }
322+
266323} // namespace ULT
0 commit comments