1313
1414#include < sycl/sycl.hpp>
1515
16+ #include < iostream>
17+
1618// This test checks that we pass the correct buffer size value when setting
1719// local_accessor as an argument through handler::set_arg to a kernel created
1820// using OpenCL interoperability methods.
@@ -28,11 +30,28 @@ ur_result_t redefined_urKernelSetArgLocal(void *pParams) {
2830 return UR_RESULT_SUCCESS;
2931}
3032
33+ inline ur_result_t redefined_urKernelGetInfo (void *pParams) {
34+ auto params = *static_cast <ur_kernel_get_info_params_t *>(pParams);
35+ constexpr char MockKernel[] = " MockKernel" ;
36+ if (*params.ppropName == UR_KERNEL_INFO_FUNCTION_NAME) {
37+ if (*params.ppPropValue ) {
38+ assert (*params.ppropSize == sizeof (MockKernel));
39+ std::memcpy (*params.ppPropValue , MockKernel, sizeof (MockKernel));
40+ }
41+ if (*params.ppPropSizeRet )
42+ **params.ppPropSizeRet = sizeof (MockKernel);
43+ }
44+ return UR_RESULT_SUCCESS;
45+ }
46+
47+
3148TEST (HandlerSetArg, LocalAccessor) {
3249 sycl::unittest::UrMock<> Mock;
3350 redefineMockForKernelInterop (Mock);
3451 mock::getCallbacks ().set_replace_callback (" urKernelSetArgLocal" ,
3552 &redefined_urKernelSetArgLocal);
53+ mock::getCallbacks ().set_replace_callback (" urKernelGetInfo" ,
54+ &redefined_urKernelGetInfo);
3655
3756 constexpr size_t Size = 128 ;
3857 sycl::queue Q;
0 commit comments