/* * Copyright (C) 2017-2019 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include "unit_tests/mocks/mock_device.h" #include "gtest/gtest.h" namespace NEO { struct GetDeviceInfoMemCapabilitiesTest : ::testing::Test { struct TestParams { cl_uint paramName; cl_unified_shared_memory_capabilities_intel expectedCapabilities; }; void check(std::vector ¶ms) { auto device = std::unique_ptr(MockDevice::createWithNewExecutionEnvironment(nullptr)); for (auto param : params) { cl_unified_shared_memory_capabilities_intel unifiedSharedMemoryCapabilities{}; size_t paramRetSize; const auto retVal = device->getDeviceInfo(param.paramName, sizeof(cl_unified_shared_memory_capabilities_intel), &unifiedSharedMemoryCapabilities, ¶mRetSize); EXPECT_EQ(CL_SUCCESS, retVal); EXPECT_EQ(param.expectedCapabilities, unifiedSharedMemoryCapabilities); EXPECT_EQ(sizeof(cl_unified_shared_memory_capabilities_intel), paramRetSize); } } }; } // namespace NEO