From 460396342f1adffe50eb44949f5b01ced732fdfc Mon Sep 17 00:00:00 2001 From: piotr-wozniak-mobica Date: Wed, 16 Aug 2023 13:12:58 +0200 Subject: [PATCH 1/2] UT for EnqueueMapBuffer --- tests/test_openclhpp.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/tests/test_openclhpp.cpp b/tests/test_openclhpp.cpp index 7748e664..999605a4 100644 --- a/tests/test_openclhpp.cpp +++ b/tests/test_openclhpp.cpp @@ -4517,4 +4517,41 @@ void testgetObjectInfo() { TEST_ASSERT_EQUAL(type, CL_GL_OBJECT_BUFFER); TEST_ASSERT_EQUAL(bufobj, 0); } +static void *clEnqueueMapBuffer_testenqueueMapBuffer( + cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_map, + cl_map_flags map_flags, size_t offset, size_t size, + cl_uint num_events_in_wait_list, const cl_event *event_wait_list, + cl_event *event, cl_int *errcode_ret, int num_calls) { + (void)command_queue; + TEST_ASSERT_EQUAL_PTR(make_mem(0), buffer); + TEST_ASSERT_EQUAL(CL_TRUE, blocking_map); + TEST_ASSERT_EQUAL(CL_MAP_WRITE, map_flags); + TEST_ASSERT_EQUAL(0, offset); + TEST_ASSERT_EQUAL(sizeof(int) * 1024, size); + TEST_ASSERT_EQUAL(0, num_events_in_wait_list); + TEST_ASSERT_EQUAL_PTR(nullptr, event_wait_list); + TEST_ASSERT_NOT_NULL(event); + TEST_ASSERT_NOT_EQUAL(nullptr, errcode_ret); + TEST_ASSERT_EQUAL(0, num_calls); + return make_mem(0); +} +void testenqueueMapBuffer() { + cl_bool blocking = CL_TRUE; + cl_map_flags flags = CL_MAP_WRITE; + cl::size_type offset = 0; + cl::size_type size = sizeof(int) * 1024; + cl::Event event_data(make_event(0), false); + cl::Event *event = &event_data; + const cl::vector *events = nullptr; + cl_int *err = nullptr; + void *ret = nullptr; + + clEnqueueMapBuffer_StubWithCallback( + clEnqueueMapBuffer_testenqueueMapBuffer); + ret = enqueueMapBuffer(bufferPool[0], blocking, flags, offset, size, events, + event, err); + + TEST_ASSERT_EQUAL_PTR(make_mem(0), ret); + event_data() = nullptr; +} } // extern "C" From b06761951708c47051e31c886a356e0e19f0b585 Mon Sep 17 00:00:00 2001 From: Kamil Goras Date: Thu, 16 Nov 2023 13:45:41 +0100 Subject: [PATCH 2/2] Added review corrections --- tests/test_openclhpp.cpp | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/tests/test_openclhpp.cpp b/tests/test_openclhpp.cpp index 999605a4..1944c3bd 100644 --- a/tests/test_openclhpp.cpp +++ b/tests/test_openclhpp.cpp @@ -4528,30 +4528,36 @@ static void *clEnqueueMapBuffer_testenqueueMapBuffer( TEST_ASSERT_EQUAL(CL_MAP_WRITE, map_flags); TEST_ASSERT_EQUAL(0, offset); TEST_ASSERT_EQUAL(sizeof(int) * 1024, size); - TEST_ASSERT_EQUAL(0, num_events_in_wait_list); - TEST_ASSERT_EQUAL_PTR(nullptr, event_wait_list); - TEST_ASSERT_NOT_NULL(event); - TEST_ASSERT_NOT_EQUAL(nullptr, errcode_ret); + TEST_ASSERT_EQUAL(1, num_events_in_wait_list); + TEST_ASSERT_EQUAL(make_event(0), event_wait_list[0]); + if (event != nullptr) + { + *event = make_event(1); + } + if (errcode_ret != nullptr) + { + *errcode_ret = CL_SUCCESS; + } TEST_ASSERT_EQUAL(0, num_calls); return make_mem(0); } void testenqueueMapBuffer() { - cl_bool blocking = CL_TRUE; - cl_map_flags flags = CL_MAP_WRITE; - cl::size_type offset = 0; - cl::size_type size = sizeof(int) * 1024; - cl::Event event_data(make_event(0), false); - cl::Event *event = &event_data; - const cl::vector *events = nullptr; - cl_int *err = nullptr; + cl::Event event; + cl::vector events; + events.emplace_back(cl::Event(make_event(0))); + cl_int err = CL_INVALID_VALUE; void *ret = nullptr; clEnqueueMapBuffer_StubWithCallback( clEnqueueMapBuffer_testenqueueMapBuffer); - ret = enqueueMapBuffer(bufferPool[0], blocking, flags, offset, size, events, - event, err); + ret = enqueueMapBuffer(bufferPool[0], CL_TRUE, CL_MAP_WRITE, 0, sizeof(int) * 1024, &events, + &event, &err); TEST_ASSERT_EQUAL_PTR(make_mem(0), ret); - event_data() = nullptr; + TEST_ASSERT_EQUAL_PTR(make_event(1), event()); + TEST_ASSERT_EQUAL(CL_SUCCESS, err); + + event() = nullptr; + events[0]() = nullptr; } } // extern "C"