/* * Copyright (C) 2018-2021 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/test/common/mocks/mock_device.h" #include "opencl/test/unit_test/fixtures/execution_model_kernel_fixture.h" #include "opencl/test/unit_test/mocks/mock_kernel.h" #include "opencl/test/unit_test/mocks/mock_program.h" #include "test.h" #include using namespace NEO; TEST(DebugKernelTest, givenKernelCompiledForDebuggingWhenGetPerThreadSystemThreadSurfaceSizeIsCalledThenCorrectValueIsReturned) { auto device = std::make_unique(new MockDevice); MockProgram program(toClDeviceVector(*device)); program.enableKernelDebug(); std::unique_ptr kernel(MockKernel::create(device->getDevice(), &program)); EXPECT_EQ(MockDebugKernel::perThreadSystemThreadSurfaceSize, kernel->getPerThreadSystemThreadSurfaceSize()); } TEST(DebugKernelTest, givenKernelCompiledForDebuggingWhenQueryingIsKernelDebugEnabledThenTrueIsReturned) { auto device = std::make_unique(new MockDevice); MockProgram program(toClDeviceVector(*device)); program.enableKernelDebug(); std::unique_ptr kernel(MockKernel::create(device->getDevice(), &program)); kernel->initialize(); EXPECT_TRUE(kernel->isKernelDebugEnabled()); } TEST(DebugKernelTest, givenKernelWithoutDebugFlagWhenQueryingIsKernelDebugEnabledThenFalseIsReturned) { auto device = std::make_unique(new MockDevice); MockProgram program(toClDeviceVector(*device)); program.enableKernelDebug(); std::unique_ptr kernel(MockKernel::create(device->getDevice(), &program)); kernel->initialize(); EXPECT_FALSE(kernel->isKernelDebugEnabled()); } TEST(DebugKernelTest, givenKernelWithoutDebugFlagWhenGetPerThreadSystemThreadSurfaceSizeIsCalledThenZeroIsReturned) { auto device = std::make_unique(new MockDevice); MockProgram program(toClDeviceVector(*device)); program.enableKernelDebug(); std::unique_ptr kernel(MockKernel::create(device->getDevice(), &program)); EXPECT_EQ(0u, kernel->getPerThreadSystemThreadSurfaceSize()); }