From 0417f5ba1224eaa1ccb6abb1af4afb08ce1ded3a Mon Sep 17 00:00:00 2001 From: Jaime Arteaga Date: Wed, 24 Feb 2021 00:49:53 -0800 Subject: [PATCH] Add ULT for getIpcMemHandle Signed-off-by: Jaime Arteaga --- .../unit_tests/sources/memory/test_memory.cpp | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp b/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp index 692b5a1b3c..5d0ed5f7b3 100644 --- a/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp +++ b/level_zero/core/test/unit_tests/sources/memory/test_memory.cpp @@ -367,6 +367,39 @@ TEST_F(MemoryExportImportTest, EXPECT_EQ(ZE_RESULT_SUCCESS, result); } +using MemoryIPCTests = MemoryExportImportTest; + +TEST_F(MemoryIPCTests, + givenCallToGetIpcHandleWithNotKnownPointerThenInvalidArgumentIsReturned) { + + uint32_t value = 0; + + ze_ipc_mem_handle_t ipcHandle; + ze_result_t result = driverHandle->getIpcMemHandle(&value, &ipcHandle); + EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ARGUMENT, result); +} + +TEST_F(MemoryIPCTests, + givenCallToGetIpcHandleWithDeviceAllocationThenIpcHandleIsReturned) { + size_t size = 10; + size_t alignment = 1u; + void *ptr = nullptr; + + ze_device_mem_alloc_desc_t deviceDesc = {}; + ze_result_t result = driverHandle->allocDeviceMem(device->toHandle(), + &deviceDesc, + size, alignment, &ptr); + EXPECT_EQ(ZE_RESULT_SUCCESS, result); + EXPECT_NE(nullptr, ptr); + + ze_ipc_mem_handle_t ipcHandle; + result = driverHandle->getIpcMemHandle(ptr, &ipcHandle); + EXPECT_EQ(ZE_RESULT_SUCCESS, result); + + result = driverHandle->freeMem(ptr); + EXPECT_EQ(ZE_RESULT_SUCCESS, result); +} + using DeviceMemorySizeTest = Test; TEST_F(DeviceMemorySizeTest, givenSizeGreaterThanLimitThenDeviceAllocationFails) {