From 30af50404e28bc78686944fd66585bfb673a6ab5 Mon Sep 17 00:00:00 2001 From: Filip Hazubski Date: Wed, 14 May 2025 20:46:22 +0000 Subject: [PATCH] test: Correct mock kernel setArgumentValue function Only use explicit args when proper flag is set. Related-To: NEO-14946 Signed-off-by: Filip Hazubski --- .../core/test/unit_tests/mocks/mock_kernel.h | 16 ++++++++++------ .../sources/cmdlist/test_cmdlist_1.cpp | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/level_zero/core/test/unit_tests/mocks/mock_kernel.h b/level_zero/core/test/unit_tests/mocks/mock_kernel.h index 7777520905..b4d59aeffc 100644 --- a/level_zero/core/test/unit_tests/mocks/mock_kernel.h +++ b/level_zero/core/test/unit_tests/mocks/mock_kernel.h @@ -119,15 +119,18 @@ struct Mock<::L0::KernelImp> : public WhiteBox<::L0::KernelImp> { if (checkPassedArgumentValues) { UNRECOVERABLE_IF(argIndex >= passedArgumentValues.size()); - auto &explicitArgs = getImmutableData()->getDescriptor().payloadMappings.explicitArgs; - if (explicitArgs[argIndex].type == NEO::ArgDescriptor::argTValue) { + if (useExplicitArgs) { + auto &explicitArgs = getImmutableData()->getDescriptor().payloadMappings.explicitArgs; + UNRECOVERABLE_IF(argIndex >= explicitArgs.size()); + if (explicitArgs[argIndex].type == NEO::ArgDescriptor::argTValue) { - size_t maxArgSize = 0u; + size_t maxArgSize = 0u; - for (const auto &element : explicitArgs[argIndex].as().elements) { - maxArgSize += element.size; + for (const auto &element : explicitArgs[argIndex].as().elements) { + maxArgSize += element.size; + } + argSize = std::min(maxArgSize, argSize); } - argSize = std::min(maxArgSize, argSize); } passedArgumentValues[argIndex].resize(argSize); @@ -150,6 +153,7 @@ struct Mock<::L0::KernelImp> : public WhiteBox<::L0::KernelImp> { bool enableForcingOfGenerateLocalIdByHw = false; bool forceGenerateLocalIdByHw = false; bool checkPassedArgumentValues = false; + bool useExplicitArgs = false; }; } // namespace ult diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp index f62c6f7475..99065aa228 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_1.cpp @@ -3386,6 +3386,7 @@ TEST_F(CommandListAppendLaunchKernelWithArgumentsTests, whenAppendLaunchKernelWi EXPECT_EQ(ZE_RESULT_SUCCESS, kernel.initialize(&desc)); kernel.checkPassedArgumentValues = true; + kernel.useExplicitArgs = true; kernel.passedArgumentValues.resize(5); void *argBuffer = reinterpret_cast(0xDEADF00);