From 5692dd9263ef2fe581c3fd4b514c80151ac4fd78 Mon Sep 17 00:00:00 2001 From: Bogumil Sapinski Date: Fri, 14 Jul 2023 13:24:55 +0200 Subject: [PATCH] changed from #undef to namespaces --- tests/test_openclhpp.cpp | 242 ++++++++++++++++++--------------------- 1 file changed, 111 insertions(+), 131 deletions(-) diff --git a/tests/test_openclhpp.cpp b/tests/test_openclhpp.cpp index ec8354d8..e80ff1bb 100644 --- a/tests/test_openclhpp.cpp +++ b/tests/test_openclhpp.cpp @@ -372,15 +372,15 @@ MAKE_REFCOUNT_STUBS(cl_command_buffer_khr, clRetainCommandBufferKHR, clReleaseCo } \ \ void prefix##MoveConstruct##type##NonNull(void) { \ - cl::type tmp(std::move(pool[0])); \ + type tmp(std::move(pool[0])); \ TEST_ASSERT_EQUAL_PTR(makeFunc(0), tmp()); \ TEST_ASSERT_NULL(pool[0]()); \ tmp() = nullptr; \ } \ \ void prefix##MoveConstruct##type##Null(void) { \ - cl::type empty; \ - cl::type tmp(std::move(empty)); \ + type empty; \ + type tmp(std::move(empty)); \ TEST_ASSERT_NULL(tmp()); \ TEST_ASSERT_NULL(empty()); \ } @@ -512,8 +512,9 @@ void testMoveAssignContextNonNull(void); void testMoveAssignContextNull(void); void testMoveConstructContextNonNull(void); void testMoveConstructContextNull(void); +namespace cl{ MAKE_MOVE_TESTS(Context, make_context, clReleaseContext, contextPool) - +} /// Stub for querying CL_CONTEXT_DEVICES that returns two devices static cl_int clGetContextInfo_testContextGetDevices( cl_context context, @@ -781,8 +782,9 @@ void testMoveAssignCommandQueueNonNull(void); void testMoveAssignCommandQueueNull(void); void testMoveConstructCommandQueueNonNull(void); void testMoveConstructCommandQueueNull(void); +namespace cl{ MAKE_MOVE_TESTS(CommandQueue, make_command_queue, clReleaseCommandQueue, commandQueuePool) - +} // Stub for clGetCommandQueueInfo that returns context 0 static cl_int clGetCommandQueueInfo_testCommandQueueGetContext( cl_command_queue command_queue, @@ -1180,8 +1182,9 @@ void testMoveAssignBufferNonNull(void); void testMoveAssignBufferNull(void); void testMoveConstructBufferNonNull(void); void testMoveConstructBufferNull(void); +namespace cl{ MAKE_MOVE_TESTS(Buffer, make_mem, clReleaseMemObject, bufferPool) - +} // Stub of clCreateBuffer for testBufferConstructorContextInterator // - return the first memory location @@ -1509,8 +1512,9 @@ void testMoveAssignImage2DNonNull(void); void testMoveAssignImage2DNull(void); void testMoveConstructImage2DNonNull(void); void testMoveConstructImage2DNull(void); +namespace cl{ MAKE_MOVE_TESTS(Image2D, make_mem, clReleaseMemObject, image2DPool) - +} #ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS static cl_mem clCreateImage2D_testCreateImage2D_1_1( cl_context context, @@ -1627,8 +1631,9 @@ void testMoveAssignImage3DNonNull(void); void testMoveAssignImage3DNull(void); void testMoveConstructImage3DNonNull(void); void testMoveConstructImage3DNull(void); +namespace cl{ MAKE_MOVE_TESTS(Image3D, make_mem, clReleaseMemObject, image3DPool) - +} #ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS static cl_mem clCreateImage3D_testCreateImage3D_1_1( cl_context context, @@ -1750,8 +1755,9 @@ void testMoveAssignKernelNonNull(void); void testMoveAssignKernelNull(void); void testMoveConstructKernelNonNull(void); void testMoveConstructKernelNull(void); +namespace cl{ MAKE_MOVE_TESTS(Kernel, make_kernel, clReleaseKernel, kernelPool) - +} static cl_int scalarArg; static cl_int3 vectorArg; @@ -3459,6 +3465,100 @@ void testLinkProgramWithVectorProgramInput(void) #endif } +/**************************************************************************** + * Tests for cl::khr::CommandBuffer + ****************************************************************************/ +#if defined(cl_khr_command_buffer) +void testMoveAssignCommandBufferNonNull(void); +void testMoveAssignCommandBufferNull(void); +void testMoveConstructCommandBufferNonNull(void); +void testMoveConstructCommandBufferNull(void); +namespace cl { +namespace khr { +MAKE_MOVE_TESTS(CommandBuffer, make_command_buffer_khr, + clReleaseCommandBufferKHR, commandBufferKhrPool) +} // namespace khr +} // namespace cl +#else +void testMoveAssignCommandBufferNonNull(void) {} +void testMoveAssignCommandBufferNull(void) {} +void testMoveConstructCommandBufferNonNull(void) {} +void testMoveConstructCommandBufferNull(void) {} +#endif + +// Stub for clGetCommandBufferInfoKHR that returns 1 +static cl_int clGetCommandBufferInfoKHR_testCommandBufferKhrGetNumQueues( + cl_command_buffer_khr command_buffer, cl_command_buffer_info_khr param_name, + size_t param_value_size, void *param_value, size_t *param_value_size_ret, + int /*num_calls*/) { + TEST_ASSERT_EQUAL_PTR(make_command_buffer_khr(0), command_buffer); + TEST_ASSERT_EQUAL_HEX(CL_COMMAND_BUFFER_NUM_QUEUES_KHR, param_name); + TEST_ASSERT(param_value == nullptr || param_value_size >= sizeof(cl_uint)); + if (param_value_size_ret != nullptr) + *param_value_size_ret = sizeof(cl_uint); + if (param_value != nullptr) + *static_cast(param_value) = 1; + return CL_SUCCESS; +} + +void testCommandBufferInfoKHRNumQueues(void) { +#if defined(cl_khr_command_buffer) + cl_uint expected = 1; + + clGetCommandBufferInfoKHR_StubWithCallback( + clGetCommandBufferInfoKHR_testCommandBufferKhrGetNumQueues); + + cl_uint num = + commandBufferKhrPool[0].getInfo(); + TEST_ASSERT_EQUAL_HEX(expected, num); +#endif +} + +// Stub for clGetCommandBufferInfoKHR that returns command queues array +static cl_int clGetCommandBufferInfoKHR_testCommandBufferKhrGetCommandQueues( + cl_command_buffer_khr command_buffer, cl_command_buffer_info_khr param_name, + size_t param_value_size, void *param_value, size_t *param_value_size_ret, + int /*num_calls*/) { + TEST_ASSERT_EQUAL_PTR(make_command_buffer_khr(0), command_buffer); + TEST_ASSERT_EQUAL_HEX(CL_COMMAND_BUFFER_QUEUES_KHR, param_name); + TEST_ASSERT(param_value == nullptr || + param_value_size >= 3 * sizeof(cl_command_queue)); + if (param_value_size_ret != nullptr) + *param_value_size_ret = 3 * sizeof(cl_command_queue); + if (param_value != nullptr) { + cl_command_queue *command_queues = + static_cast(param_value); + command_queues[0] = make_command_queue(0); + command_queues[1] = make_command_queue(1); + command_queues[2] = make_command_queue(2); + } + return CL_SUCCESS; +} + +void testCommandBufferInfoKHRCommandQueues(void) { +#if defined(cl_khr_command_buffer) + // creat expected values for refcounter + VECTOR_CLASS expected_queue_vec; + std::array refcount; + for (int i = 0; i < 3; i++) { + expected_queue_vec.push_back(commandQueuePool[i]()); + refcount[i] = 1; + } + + clGetCommandBufferInfoKHR_StubWithCallback( + clGetCommandBufferInfoKHR_testCommandBufferKhrGetCommandQueues); + prepare_commandQueueRefcounts(expected_queue_vec.size(), + expected_queue_vec.data(), refcount.data()); + + VECTOR_CLASS command_queues = + commandBufferKhrPool[0].getInfo(); + TEST_ASSERT_EQUAL(3, command_queues.size()); + TEST_ASSERT_EQUAL_PTR(make_command_queue(0), command_queues[0]()); + TEST_ASSERT_EQUAL_PTR(make_command_queue(1), command_queues[1]()); + TEST_ASSERT_EQUAL_PTR(make_command_queue(2), command_queues[2]()); +#endif +} + // Tests for Device::GetInfo static cl_int clGetInfo_testDeviceGetInfoCLDeviceVendorId( cl_device_id device, cl_device_info param_name, size_t param_value_size, @@ -3540,7 +3640,9 @@ void testMoveAssignSemaphoreNonNull(void); void testMoveAssignSemaphoreNull(void); void testMoveConstructSemaphoreNonNull(void); void testMoveConstructSemaphoreNull(void); +namespace cl{ MAKE_MOVE_TESTS(Semaphore, make_semaphore_khr, clReleaseSemaphoreKHR, semaphorePool); +} #else void testMoveAssignSemaphoreNonNull(void) {} void testMoveAssignSemaphoreNull(void) {} @@ -4292,127 +4394,5 @@ void testTemplateGetImageRequirementsInfo() void testTemplateGetImageRequirementsInfo() {} #endif // cl_ext_image_requirements_info -/**************************************************************************** - * Tests for cl::khr::CommandBuffer - * Please put above any tests of functionalities defined in cl namespace. - * Some macros where redifined with cl::khr namespace. - ****************************************************************************/ -#if defined(cl_khr_command_buffer) -void testMoveAssignCommandBufferNonNull(void); -void testMoveAssignCommandBufferNull(void); -void testMoveConstructCommandBufferNonNull(void); -void testMoveConstructCommandBufferNull(void); -#ifdef MAKE_MOVE_TESTS2 -#undef MAKE_MOVE_TESTS2 -#endif -#define MAKE_MOVE_TESTS2(prefix, type, makeFunc, releaseFunc, pool) \ - void prefix##MoveAssign##type##NonNull(void) { \ - releaseFunc##_ExpectAndReturn(makeFunc(0), CL_SUCCESS); \ - pool[0] = std::move(pool[1]); \ - TEST_ASSERT_EQUAL_PTR(makeFunc(1), pool[0]()); \ - TEST_ASSERT_NULL(pool[1]()); \ - } \ - \ - void prefix##MoveAssign##type##Null(void) { \ - pool[0]() = nullptr; \ - pool[0] = std::move(pool[1]); \ - TEST_ASSERT_EQUAL_PTR(makeFunc(1), pool[0]()); \ - TEST_ASSERT_NULL(pool[1]()); \ - } \ - \ - void prefix##MoveConstruct##type##NonNull(void) { \ - cl::khr::type tmp(std::move(pool[0])); \ - TEST_ASSERT_EQUAL_PTR(makeFunc(0), tmp()); \ - TEST_ASSERT_NULL(pool[0]()); \ - tmp() = nullptr; \ - } \ - \ - void prefix##MoveConstruct##type##Null(void) { \ - cl::khr::type empty; \ - cl::khr::type tmp(std::move(empty)); \ - TEST_ASSERT_NULL(tmp()); \ - TEST_ASSERT_NULL(empty()); \ - } -MAKE_MOVE_TESTS(CommandBuffer, make_command_buffer_khr, - clReleaseCommandBufferKHR, commandBufferKhrPool) -#else -void testMoveAssignCommandBufferNonNull(void) {} -void testMoveAssignCommandBufferNull(void) {} -void testMoveConstructCommandBufferNonNull(void) {} -void testMoveConstructCommandBufferNull(void) {} -#endif - -// Stub for clGetCommandBufferInfoKHR that returns 1 -static cl_int clGetCommandBufferInfoKHR_testCommandBufferKhrGetNumQueues( - cl_command_buffer_khr command_buffer, cl_command_buffer_info_khr param_name, - size_t param_value_size, void *param_value, size_t *param_value_size_ret, - int /*num_calls*/) { - TEST_ASSERT_EQUAL_PTR(make_command_buffer_khr(0), command_buffer); - TEST_ASSERT_EQUAL_HEX(CL_COMMAND_BUFFER_NUM_QUEUES_KHR, param_name); - TEST_ASSERT(param_value == nullptr || param_value_size >= sizeof(cl_uint)); - if (param_value_size_ret != nullptr) - *param_value_size_ret = sizeof(cl_uint); - if (param_value != nullptr) - *static_cast(param_value) = 1; - return CL_SUCCESS; -} - -void testCommandBufferInfoKHRNumQueues(void) { -#if defined(cl_khr_command_buffer) - cl_uint expected = 1; - - clGetCommandBufferInfoKHR_StubWithCallback( - clGetCommandBufferInfoKHR_testCommandBufferKhrGetNumQueues); - - cl_uint num = - commandBufferKhrPool[0].getInfo(); - TEST_ASSERT_EQUAL_HEX(expected, num); -#endif -} - -// Stub for clGetCommandBufferInfoKHR that returns command queues array -static cl_int clGetCommandBufferInfoKHR_testCommandBufferKhrGetCommandQueues( - cl_command_buffer_khr command_buffer, cl_command_buffer_info_khr param_name, - size_t param_value_size, void *param_value, size_t *param_value_size_ret, - int /*num_calls*/) { - TEST_ASSERT_EQUAL_PTR(make_command_buffer_khr(0), command_buffer); - TEST_ASSERT_EQUAL_HEX(CL_COMMAND_BUFFER_QUEUES_KHR, param_name); - TEST_ASSERT(param_value == nullptr || - param_value_size >= 3 * sizeof(cl_command_queue)); - if (param_value_size_ret != nullptr) - *param_value_size_ret = 3 * sizeof(cl_command_queue); - if (param_value != nullptr) { - cl_command_queue *command_queues = - static_cast(param_value); - command_queues[0] = make_command_queue(0); - command_queues[1] = make_command_queue(1); - command_queues[2] = make_command_queue(2); - } - return CL_SUCCESS; -} - -void testCommandBufferInfoKHRCommandQueues(void) { -#if defined(cl_khr_command_buffer) - // creat expected values for refcounter - VECTOR_CLASS expected_queue_vec; - std::array refcount; - for (int i = 0; i < 3; i++) { - expected_queue_vec.push_back(commandQueuePool[i]()); - refcount[i] = 1; - } - - clGetCommandBufferInfoKHR_StubWithCallback( - clGetCommandBufferInfoKHR_testCommandBufferKhrGetCommandQueues); - prepare_commandQueueRefcounts(expected_queue_vec.size(), - expected_queue_vec.data(), refcount.data()); - - VECTOR_CLASS command_queues = - commandBufferKhrPool[0].getInfo(); - TEST_ASSERT_EQUAL(3, command_queues.size()); - TEST_ASSERT_EQUAL_PTR(make_command_queue(0), command_queues[0]()); - TEST_ASSERT_EQUAL_PTR(make_command_queue(1), command_queues[1]()); - TEST_ASSERT_EQUAL_PTR(make_command_queue(2), command_queues[2]()); -#endif -} } // extern "C"