From 41289abb62d12f9038537e998790b951b392cd96 Mon Sep 17 00:00:00 2001 From: piotr-wozniak-mobica Date: Mon, 7 Aug 2023 12:05:53 +0200 Subject: [PATCH 1/2] UT for createSubBuffer --- tests/test_openclhpp.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/test_openclhpp.cpp b/tests/test_openclhpp.cpp index 7748e664..9b7d642d 100644 --- a/tests/test_openclhpp.cpp +++ b/tests/test_openclhpp.cpp @@ -4517,4 +4517,37 @@ void testgetObjectInfo() { TEST_ASSERT_EQUAL(type, CL_GL_OBJECT_BUFFER); TEST_ASSERT_EQUAL(bufobj, 0); } +#if CL_HPP_TARGET_OPENCL_VERSION >= 110 +static cl_mem clCreateSubBuffer_testCreateSubBuffer( + cl_mem buffer, cl_mem_flags flags, cl_buffer_create_type buffer_create_type, + const void *buffer_create_info, cl_int *errcode_ret, int num_calls) { + (void)errcode_ret; + TEST_ASSERT_EQUAL(make_mem(0), buffer); + TEST_ASSERT_EQUAL(0, flags); + TEST_ASSERT_EQUAL(0, buffer_create_type); + TEST_ASSERT_EQUAL_PTR(nullptr, buffer_create_info); + TEST_ASSERT_EQUAL(0, num_calls); + + return make_mem(1); +} + +void testCreateSubBuffer() { +#ifndef CL_HPP_ENABLE_EXCEPTIONS + cl_mem_flags flags = 0; + cl_buffer_create_type buffer_create_type = 0; + const void *buffer_create_info = nullptr; + cl_int *err = nullptr; + static cl::Buffer ret; + + clCreateSubBuffer_StubWithCallback(clCreateSubBuffer_testCreateSubBuffer); + ret = bufferPool[0].createSubBuffer(flags, buffer_create_type, + buffer_create_info, err); + + TEST_ASSERT_EQUAL_PTR(make_mem(1), ret()); + ret() = nullptr; +#endif +} +#else +void testCreateSubBuffer() {} +#endif // CL_HPP_TARGET_OPENCL_VERSION >= 110 } // extern "C" From 32e27e8389ff5ca7bf02da21751283b780e49828 Mon Sep 17 00:00:00 2001 From: Kamil Goras Date: Thu, 16 Nov 2023 14:30:18 +0100 Subject: [PATCH 2/2] Added review corrections --- tests/test_openclhpp.cpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/tests/test_openclhpp.cpp b/tests/test_openclhpp.cpp index 9b7d642d..bb642928 100644 --- a/tests/test_openclhpp.cpp +++ b/tests/test_openclhpp.cpp @@ -4521,11 +4521,21 @@ void testgetObjectInfo() { static cl_mem clCreateSubBuffer_testCreateSubBuffer( cl_mem buffer, cl_mem_flags flags, cl_buffer_create_type buffer_create_type, const void *buffer_create_info, cl_int *errcode_ret, int num_calls) { - (void)errcode_ret; + if (errcode_ret != nullptr) + { + *errcode_ret = CL_SUCCESS; + } TEST_ASSERT_EQUAL(make_mem(0), buffer); - TEST_ASSERT_EQUAL(0, flags); - TEST_ASSERT_EQUAL(0, buffer_create_type); - TEST_ASSERT_EQUAL_PTR(nullptr, buffer_create_info); + TEST_ASSERT_EQUAL(CL_MEM_READ_ONLY, flags); + TEST_ASSERT_EQUAL(CL_BUFFER_CREATE_TYPE_REGION, buffer_create_type); + //TEST_ASSERT_EQUAL_PTR(nullptr, buffer_create_info); + TEST_ASSERT_NOT_NULL(buffer_create_info); + if (buffer_create_info != nullptr) + { + cl_buffer_region* buffer_region = (cl_buffer_region*)buffer_create_info; + TEST_ASSERT_EQUAL(512, buffer_region->origin); + TEST_ASSERT_EQUAL(1024, buffer_region->size); + } TEST_ASSERT_EQUAL(0, num_calls); return make_mem(1); @@ -4533,17 +4543,16 @@ static cl_mem clCreateSubBuffer_testCreateSubBuffer( void testCreateSubBuffer() { #ifndef CL_HPP_ENABLE_EXCEPTIONS - cl_mem_flags flags = 0; - cl_buffer_create_type buffer_create_type = 0; const void *buffer_create_info = nullptr; - cl_int *err = nullptr; - static cl::Buffer ret; + cl_buffer_region buffer_region{ 512, 1024 }; + cl_int err = CL_INVALID_VALUE; clCreateSubBuffer_StubWithCallback(clCreateSubBuffer_testCreateSubBuffer); - ret = bufferPool[0].createSubBuffer(flags, buffer_create_type, - buffer_create_info, err); + cl::Buffer ret = bufferPool[0].createSubBuffer(CL_MEM_READ_ONLY, CL_BUFFER_CREATE_TYPE_REGION, + (void *)&buffer_region, &err); TEST_ASSERT_EQUAL_PTR(make_mem(1), ret()); + TEST_ASSERT_EQUAL(CL_SUCCESS, err); ret() = nullptr; #endif }