Files
compute-runtime/shared/test/unit_test/ail/ail_tests_base.cpp
Konstanty Misiak d1ea22f115 Fix pathtoken fallback AIL unit test
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-02-21 09:21:21 +01:00

60 lines
1.9 KiB
C++

/*
* Copyright (C) 2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/ail/ail_configuration.h"
#include "shared/test/common/helpers/default_hw_info.h"
#include "shared/test/common/helpers/variable_backup.h"
#include "shared/test/common/test_macros/hw_test.h"
namespace NEO {
using AILBaseTests = ::testing::Test;
HWTEST2_F(AILBaseTests, whenKernelSourceIsANGenDummyKernelThenDoEnforcePatchtokensFormat, IsAtLeastSkl) {
std::string dummyKernelSource{"kernel void _(){}"};
bool enforceRebuildToCTNI = false;
AILConfigurationHw<productFamily> ail;
ail.forceFallbackToPatchtokensIfRequired(dummyKernelSource, enforceRebuildToCTNI);
EXPECT_TRUE(enforceRebuildToCTNI);
}
HWTEST2_F(AILBaseTests, whenKernelSourceIsNotANGenDummyKernelThenDoNotEnforcePatchtokensFormat, IsAtLeastSkl) {
std::string dummyKernelSource{"kernel void copybuffer(__global int* a, __global int* b){ //some code }"};
bool enforceRebuildToCTNI = false;
AILConfigurationHw<productFamily> ail;
ail.forceFallbackToPatchtokensIfRequired(dummyKernelSource, enforceRebuildToCTNI);
EXPECT_FALSE(enforceRebuildToCTNI);
}
HWTEST2_F(AILBaseTests, givenApplicationNamesThatRequirAILWhenCheckingIfPatchtokenFallbackIsRequiredThenIsCorrectResult, IsAtLeastSkl) {
class AILMock : public AILConfigurationHw<productFamily> {
public:
using AILConfiguration::processName;
};
VariableBackup<AILConfiguration *> ailConfigurationBackup(&ailConfigurationTable[productFamily]);
AILMock ail;
ailConfigurationTable[productFamily] = &ail;
for (const auto &name : {"Resolve",
"ArcControlAssist",
"ArcControl"}) {
ail.processName = name;
bool fallbackRequired;
ail.forceFallbackToPatchtokensIfRequired("", fallbackRequired);
EXPECT_TRUE(fallbackRequired);
}
}
} // namespace NEO