Skip to content

Commit

Permalink
Merge pull request #1271 from omarahmed1111/fix-memory-leak-in-CTS-tests
Browse files Browse the repository at this point in the history
Fix memory leak in UR CTS tests
  • Loading branch information
kbenzie committed Jan 24, 2024
2 parents 2352ec4 + 29df10d commit d579573
Show file tree
Hide file tree
Showing 26 changed files with 56 additions and 2 deletions.
6 changes: 5 additions & 1 deletion source/adapters/opencl/context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,13 @@ UR_APIEXPORT ur_result_t UR_APICALL urContextGetNativeHandle(

UR_APIEXPORT ur_result_t UR_APICALL urContextCreateWithNativeHandle(
ur_native_handle_t hNativeContext, uint32_t, const ur_device_handle_t *,
const ur_context_native_properties_t *, ur_context_handle_t *phContext) {
const ur_context_native_properties_t *pProperties,
ur_context_handle_t *phContext) {

*phContext = reinterpret_cast<ur_context_handle_t>(hNativeContext);
if (!pProperties || !pProperties->isNativeHandleOwned) {
return urContextRetain(*phContext);
}
return UR_RESULT_SUCCESS;
}

Expand Down
6 changes: 5 additions & 1 deletion source/adapters/opencl/sampler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,12 @@ UR_APIEXPORT ur_result_t UR_APICALL urSamplerGetNativeHandle(

UR_APIEXPORT ur_result_t UR_APICALL urSamplerCreateWithNativeHandle(
ur_native_handle_t hNativeSampler, ur_context_handle_t,
const ur_sampler_native_properties_t *, ur_sampler_handle_t *phSampler) {
const ur_sampler_native_properties_t *pProperties,
ur_sampler_handle_t *phSampler) {
*phSampler = reinterpret_cast<ur_sampler_handle_t>(
cl_adapter::cast<cl_sampler>(hNativeSampler));
if (!pProperties || !pProperties->isNativeHandleOwned) {
return urSamplerRetain(*phSampler);
}
return UR_RESULT_SUCCESS;
}
2 changes: 2 additions & 0 deletions test/conformance/context/urContextCreateWithNativeHandle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,6 @@ TEST_P(urContextCreateWithNativeHandleTest, Success) {
uint32_t n_devices = 0;
ASSERT_SUCCESS(urContextGetInfo(ctx, UR_CONTEXT_INFO_NUM_DEVICES,
sizeof(uint32_t), &n_devices, nullptr));

ASSERT_SUCCESS(urContextRelease(ctx));
}
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueEventsWait.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,6 @@ TEST_P(urEnqueueEventsWaitTest, InvalidNullPtrEventWaitList) {
ur_event_handle_t inv_evt = nullptr;
ASSERT_EQ_RESULT(urEnqueueEventsWait(queue1, 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueEventsWaitWithBarrier.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,6 @@ TEST_P(urEnqueueEventsWaitWithBarrierTest, InvalidNullPtrEventWaitList) {
ASSERT_EQ_RESULT(
urEnqueueEventsWaitWithBarrier(queue1, 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}
1 change: 1 addition & 0 deletions test/conformance/enqueue/urEnqueueKernelLaunch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ TEST_P(urEnqueueKernelLaunchTest, InvalidNullPtrEventWaitList) {
&global_offset, &global_size,
nullptr, 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);
ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueKernelLaunchTest, InvalidWorkDimension) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemBufferCopy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ TEST_P(urEnqueueMemBufferCopyTest, InvalidNullPtrEventWaitList) {
ASSERT_EQ_RESULT(urEnqueueMemBufferCopy(queue, src_buffer, dst_buffer, 0, 0,
size, 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemBufferCopyTest, InvalidSize) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemBufferCopyRect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,8 @@ TEST_P(urEnqueueMemBufferCopyRectTest, InvalidNullPtrEventWaitList) {
src_region, size, size, size,
size, 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

using urEnqueueMemBufferCopyRectMultiDeviceTest =
Expand Down
1 change: 1 addition & 0 deletions test/conformance/enqueue/urEnqueueMemBufferFill.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ TEST_P(urEnqueueMemBufferFillNegativeTest, InvalidNullPtrEventWaitList) {
sizeof(uint32_t), 0, size, 1,
&inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemBufferMap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,8 @@ TEST_P(urEnqueueMemBufferMapTest, InvalidNullPtrEventWaitList) {
UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
0, size, 1, &inv_evt, nullptr, &map),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemBufferMapTest, InvalidSize) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemBufferRead.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ TEST_P(urEnqueueMemBufferReadTest, InvalidNullPtrEventWaitList) {
output.data(), 1, &inv_evt,
nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemBufferReadTest, InvalidSize) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemBufferReadRect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,8 @@ TEST_P(urEnqueueMemBufferReadRectTest, InvalidNullPtrEventWaitList) {
host_offset, region, size, size, size, size,
dst.data(), 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

using urEnqueueMemBufferReadRectMultiDeviceTest =
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemBufferWrite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ TEST_P(urEnqueueMemBufferWriteTest, InvalidNullPtrEventWaitList) {
input.data(), 1, &inv_evt,
nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemBufferWriteTest, InvalidSize) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemBufferWriteRect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ TEST_P(urEnqueueMemBufferWriteRectTest, InvalidNullPtrEventWaitList) {
host_offset, region, size, size, size, size,
src.data(), 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemBufferWriteRectTest, InvalidSize) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemImageCopy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,8 @@ TEST_P(urEnqueueMemImageCopyTest, InvalidNullPtrEventWaitList) {
{0, 0, 0}, size, 1, &inv_evt,
nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemImageCopyTest, InvalidSize) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemImageRead.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ TEST_P(urEnqueueMemImageReadTest, InvalidNullPtrEventWaitList) {
region1D, 0, 0, output.data(), 1,
&inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemImageReadTest, InvalidOrigin1D) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemImageWrite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ TEST_P(urEnqueueMemImageWriteTest, InvalidNullPtrEventWaitList) {
region1D, 0, 0, input.data(), 1,
&inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}

TEST_P(urEnqueueMemImageWriteTest, InvalidOrigin1D) {
Expand Down
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueMemUnmap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,6 @@ TEST_P(urEnqueueMemUnmapTest, InvalidNullPtrEventWaitList) {
ASSERT_EQ_RESULT(
urEnqueueMemUnmap(queue, buffer, map, 1, &inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueReadHostPipe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,6 @@ TEST_P(urEnqueueReadHostPipeTest, InvalidEventWaitList) {
/*blocking*/ true, &buffer, size, 1,
&inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueUSMPrefetch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,6 @@ TEST_P(urEnqueueUSMPrefetchTest, InvalidEventWaitList) {
UR_USM_MIGRATION_FLAG_DEFAULT, 1,
&inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}
2 changes: 2 additions & 0 deletions test/conformance/enqueue/urEnqueueWriteHostPipe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,6 @@ TEST_P(urEnqueueWriteHostPipeTest, InvalidEventWaitList) {
/*blocking*/ true, &buffer, size, 1,
&inv_evt, nullptr),
UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST);

ASSERT_SUCCESS(urEventRelease(validEvent));
}
2 changes: 2 additions & 0 deletions test/conformance/memory/urMemBufferPartition.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ TEST_P(urMemBufferPartitionTest, Success) {
UR_BUFFER_CREATE_TYPE_REGION, &region,
&partition));
ASSERT_NE(partition, nullptr);
ASSERT_SUCCESS(urMemRelease(partition));
}

TEST_P(urMemBufferPartitionTest, InvalidNullHandleBuffer) {
Expand Down Expand Up @@ -88,6 +89,7 @@ TEST_P(urMemBufferPartitionTest, InvalidValueCreateType) {
urMemBufferPartition(ro_buffer, UR_MEM_FLAG_READ_WRITE,
UR_BUFFER_CREATE_TYPE_REGION, &region,
&partition));
ASSERT_SUCCESS(urMemRelease(ro_buffer));
}

TEST_P(urMemBufferPartitionTest, InvalidValueBufferCreateInfoOutOfBounds) {
Expand Down
3 changes: 3 additions & 0 deletions test/conformance/queue/urQueueFinish.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ TEST_P(urQueueFinishTest, Success) {
ASSERT_SUCCESS(urEventGetInfo(event, UR_EVENT_INFO_COMMAND_EXECUTION_STATUS,
sizeof(exec_status), &exec_status, nullptr));
ASSERT_EQ(exec_status, UR_EXECUTION_INFO_COMPLETE);

ASSERT_SUCCESS(urMemRelease(buffer));
ASSERT_SUCCESS(urEventRelease(event));
}

TEST_P(urQueueFinishTest, InvalidNullHandleQueue) {
Expand Down
1 change: 1 addition & 0 deletions test/conformance/queue/urQueueFlush.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ TEST_P(urQueueFlushTest, Success) {
nullptr));

ASSERT_SUCCESS(urQueueFlush(queue));
ASSERT_SUCCESS(urMemRelease(buffer));
}

TEST_P(urQueueFlushTest, InvalidNullHandleQueue) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ TEST_P(urSamplerCreateWithNativeHandleTest, Success) {
ASSERT_SUCCESS(urSamplerGetInfo(hSampler, UR_SAMPLER_INFO_ADDRESSING_MODE,
sizeof(addr_mode), &addr_mode, nullptr));
ASSERT_EQ(addr_mode, sampler_desc.addressingMode);
ASSERT_SUCCESS(urSamplerRelease(hSampler));
}
3 changes: 3 additions & 0 deletions test/conformance/usm/urUSMFree.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ TEST_P(urUSMFreeTest, SuccessDeviceAlloc) {

ASSERT_NE(ptr, nullptr);
ASSERT_SUCCESS(urUSMFree(context, ptr));
ASSERT_SUCCESS(urEventRelease(event));
}
TEST_P(urUSMFreeTest, SuccessHostAlloc) {
ur_device_usm_access_capability_flags_t hostUSMSupport = 0;
Expand All @@ -52,6 +53,7 @@ TEST_P(urUSMFreeTest, SuccessHostAlloc) {

ASSERT_NE(ptr, nullptr);
ASSERT_SUCCESS(urUSMFree(context, ptr));
ASSERT_SUCCESS(urEventRelease(event));
}

TEST_P(urUSMFreeTest, SuccessSharedAlloc) {
Expand Down Expand Up @@ -81,6 +83,7 @@ TEST_P(urUSMFreeTest, SuccessSharedAlloc) {

ASSERT_NE(ptr, nullptr);
ASSERT_SUCCESS(urUSMFree(context, ptr));
ASSERT_SUCCESS(urEventRelease(event));
}

TEST_P(urUSMFreeTest, InvalidNullContext) {
Expand Down

0 comments on commit d579573

Please sign in to comment.