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> &params) {
24         auto device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr));
25 
26         for (auto &param : 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, &paramRetSize);
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