1 /* 2 * Copyright (C) 2019-2021 Intel Corporation 3 * 4 * SPDX-License-Identifier: MIT 5 * 6 */ 7 8 #pragma once 9 #include "shared/test/common/mocks/mock_device.h" 10 11 #include "opencl/test/unit_test/mocks/mock_cl_device.h" 12 13 #include "gtest/gtest.h" 14 15 namespace NEO { 16 17 struct GetDeviceInfoMemCapabilitiesTest : ::testing::Test { 18 struct TestParams { 19 cl_uint paramName; 20 cl_unified_shared_memory_capabilities_intel expectedCapabilities; 21 }; 22 checkGetDeviceInfoMemCapabilitiesTest23 void check(std::vector<TestParams> ¶ms) { 24 auto device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr)); 25 26 for (auto ¶m : params) { 27 cl_unified_shared_memory_capabilities_intel unifiedSharedMemoryCapabilities{}; 28 size_t paramRetSize; 29 30 const auto retVal = device->getDeviceInfo(param.paramName, 31 sizeof(cl_unified_shared_memory_capabilities_intel), 32 &unifiedSharedMemoryCapabilities, ¶mRetSize); 33 EXPECT_EQ(CL_SUCCESS, retVal); 34 EXPECT_EQ(param.expectedCapabilities, unifiedSharedMemoryCapabilities); 35 EXPECT_EQ(sizeof(cl_unified_shared_memory_capabilities_intel), paramRetSize); 36 } 37 } 38 }; 39 40 struct QueueFamilyNameTest : ::testing::Test { SetUpQueueFamilyNameTest41 void SetUp() override { 42 device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(defaultHwInfo.get())); 43 } 44 verifyQueueFamilyNameTest45 void verify(EngineGroupType type, const char *expectedName) { 46 char name[CL_QUEUE_FAMILY_MAX_NAME_SIZE_INTEL]; 47 device->getQueueFamilyName(name, type); 48 EXPECT_EQ(0, std::strcmp(name, expectedName)); 49 } 50 51 std::unique_ptr<MockClDevice> device = {}; 52 }; 53 54 } // namespace NEO 55