mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 09:58:55 +08:00
refactor: Mock file system in ULTs
Functions: fileExists and loadDataToFile use IO functions from namespace IoFunctions Now tests that use these functions are mocked by default, but some still require access to real files and have been restored the ability to read files. They will be mocked in next PRs. Related-To: NEO-7006 Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
077fe1ab48
commit
5d01677454
@@ -730,6 +730,8 @@ TEST_F(MinimumProgramFixture, givenApplicationContextMarkedAsNonZebinWhenBuildin
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenSpecificParamatersWhenBuildingProgramThenSuccessOrCorrectErrorCodeIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
KernelBinaryHelper kbHelper(binaryFileName, true);
|
||||
auto device = pPlatform->getClDevice(0);
|
||||
|
||||
@@ -832,6 +834,7 @@ TEST_F(ProgramFromSourceTest, GivenSpecificParamatersWhenBuildingProgramThenSucc
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenDuplicateOptionsWhenCreatingWithSourceThenBuildSucceeds) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
KernelBinaryHelper kbHelper(binaryFileName, false);
|
||||
|
||||
retVal = pProgram->build(pProgram->getDevices(), nullptr);
|
||||
@@ -851,6 +854,7 @@ TEST_F(ProgramFromSourceTest, GivenDuplicateOptionsWhenCreatingWithSourceThenBui
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, WhenBuildingProgramThenFeaturesAndExtraExtensionsAreNotAdded) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
auto cip = new MockCompilerInterfaceCaptureBuildOptions();
|
||||
auto pClDevice = pContext->getDevice(0);
|
||||
pClDevice->getExecutionEnvironment()->rootDeviceEnvironments[pClDevice->getRootDeviceIndex()]->compilerInterface.reset(cip);
|
||||
@@ -868,6 +872,8 @@ TEST_F(ProgramFromSourceTest, WhenBuildingProgramThenFeaturesAndExtraExtensionsA
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, givenFp64EmulationEnabledWhenBuildingProgramThenExtraExtensionsAreAdded) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
auto cip = new MockCompilerInterfaceCaptureBuildOptions();
|
||||
auto pClDevice = static_cast<ClDevice *>(devices[0]);
|
||||
pClDevice->getExecutionEnvironment()->setFP64EmulationEnabled();
|
||||
@@ -884,6 +890,8 @@ TEST_F(ProgramFromSourceTest, givenFp64EmulationEnabledWhenBuildingProgramThenEx
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, WhenBuildingProgramWithOpenClC20ThenExtraExtensionsAreAdded) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
auto cip = new MockCompilerInterfaceCaptureBuildOptions();
|
||||
auto pClDevice = pContext->getDevice(0);
|
||||
pClDevice->getExecutionEnvironment()->rootDeviceEnvironments[pClDevice->getRootDeviceIndex()]->compilerInterface.reset(cip);
|
||||
@@ -904,6 +912,8 @@ TEST_F(ProgramFromSourceTest, WhenBuildingProgramWithOpenClC20ThenExtraExtension
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, WhenBuildingProgramWithOpenClC30ThenFeaturesAreAdded) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
auto cip = new MockCompilerInterfaceCaptureBuildOptions();
|
||||
auto pClDevice = pContext->getDevice(0);
|
||||
pClDevice->getExecutionEnvironment()->rootDeviceEnvironments[pClDevice->getRootDeviceIndex()]->compilerInterface.reset(cip);
|
||||
@@ -926,6 +936,8 @@ TEST_F(ProgramFromSourceTest, WhenBuildingProgramWithOpenClC30ThenFeaturesAreAdd
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, WhenBuildingProgramWithOpenClC30ThenFeaturesAreAddedOnlyOnce) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
auto cip = new MockCompilerInterfaceCaptureBuildOptions();
|
||||
auto pClDevice = pContext->getDevice(0);
|
||||
pClDevice->getExecutionEnvironment()->rootDeviceEnvironments[pClDevice->getRootDeviceIndex()]->compilerInterface.reset(cip);
|
||||
@@ -1020,6 +1032,7 @@ TEST_F(ProgramFromSourceTest, WhenCompilingProgramWithOpenClC30ThenFeaturesAreAd
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenDumpZEBinWhenBuildingProgramFromSourceThenZebinIsDumped) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.DumpZEBin.set(1);
|
||||
|
||||
@@ -1068,6 +1081,8 @@ class Callback {
|
||||
std::map<const void *, uint32_t> Callback::watchList;
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenDifferentCommpilerOptionsWhenBuildingProgramThenKernelHashesAreDifferent) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
KernelBinaryHelper kbHelper(binaryFileName, true);
|
||||
|
||||
auto rootDeviceIndex = pContext->getDevice(0)->getRootDeviceIndex();
|
||||
@@ -1134,6 +1149,8 @@ TEST_F(ProgramFromSourceTest, GivenEmptyProgramWhenCreatingProgramThenInvalidVal
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenSpecificParamatersWhenCompilingProgramThenSuccessOrCorrectErrorCodeIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
createProgramWithSource(
|
||||
pContext,
|
||||
sourceFileName);
|
||||
@@ -1256,6 +1273,8 @@ TEST_F(ProgramFromSourceTest, GivenFlagsWhenCompilingProgramThenBuildOptionsHave
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, GivenFlagsWhenLinkingProgramThenBuildOptionsHaveBeenApplied) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
auto cip = new MockCompilerInterfaceCaptureBuildOptions();
|
||||
auto pProgram = std::make_unique<SucceedingGenBinaryProgram>(toClDeviceVector(*pClDevice));
|
||||
pProgram->sourceCode = "__kernel mock() {}";
|
||||
@@ -1286,6 +1305,8 @@ TEST_F(ProgramTests, GivenFlagsWhenLinkingProgramThenBuildOptionsHaveBeenApplied
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenAdvancedOptionsWhenCreatingProgramThenSuccessIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
std::string testFile;
|
||||
size_t sourceSize = 0;
|
||||
|
||||
@@ -1338,6 +1359,8 @@ TEST_F(ProgramFromSourceTest, GivenAdvancedOptionsWhenCreatingProgramThenSuccess
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenSpecificParamatersWhenLinkingProgramThenSuccessOrCorrectErrorCodeIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
createProgramWithSource(
|
||||
pContext,
|
||||
sourceFileName);
|
||||
@@ -1406,6 +1429,8 @@ TEST_F(ProgramFromSourceTest, GivenSpecificParamatersWhenLinkingProgramThenSucce
|
||||
}
|
||||
|
||||
TEST_F(ProgramFromSourceTest, GivenInvalidOptionsWhenCreatingLibraryThenCorrectErrorIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
cl_program program = pProgram;
|
||||
|
||||
// Order of following microtests is important - do not change.
|
||||
@@ -1836,6 +1861,8 @@ TEST_F(ProgramTests, givenSkipLastExplicitArgWhenContainsStatefulAccessIsCalledT
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, givenStatefulAndStatelessAccessesWhenProgramBuildIsCalledThenCorrectResultIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
DebugManagerStateRestore restorer;
|
||||
const auto &compilerProductHelper = pDevice->getRootDeviceEnvironment().getHelper<CompilerProductHelper>();
|
||||
|
||||
@@ -2164,6 +2191,8 @@ TEST_F(ProgramTests, givenExistingGlobalSurfacesWhenProcessGenBinaryThenCleanupT
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, GivenNoCompilerInterfaceRootDeviceEnvironmentWhenRebuildingBinaryThenOutOfHostMemoryErrorIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
auto pDevice = pContext->getDevice(0);
|
||||
auto executionEnvironment = pDevice->getExecutionEnvironment();
|
||||
std::unique_ptr<RootDeviceEnvironment> rootDeviceEnvironment = std::make_unique<NoCompilerInterfaceRootDeviceEnvironment>(*executionEnvironment);
|
||||
@@ -2414,6 +2443,8 @@ TEST(isValidSpirvBinary, whenBinaryDoesNotContainLllvMagicThenBinaryIsNotValidLL
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, WhenLinkingTwoValidSpirvProgramsThenValidProgramIsReturned) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
const uint32_t spirv[16] = {0x03022307};
|
||||
cl_int errCode = CL_SUCCESS;
|
||||
|
||||
@@ -2485,6 +2516,8 @@ TEST_F(ProgramTests, givenProgramWithSpirvWhenRebuildProgramIsCalledThenSpirvPat
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, givenProgramWithSpirvWhenRebuildIsCalledThenRebuildWarningIsIssued) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
const auto program{clUniquePtr(new MockProgram(toClDeviceVector(*pClDevice)))};
|
||||
uint32_t spirv[16] = {0x03022307, 0x23471113, 0x17192329};
|
||||
program->irBinary = makeCopy(spirv, sizeof(spirv));
|
||||
@@ -2501,6 +2534,8 @@ TEST_F(ProgramTests, givenProgramWithSpirvWhenRebuildIsCalledThenRebuildWarningI
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, givenProgramWithSpirvWhenRebuildIsCalledButSuppressFlagIsEnabledThenRebuildWarningIsNotIssued) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
const auto program{clUniquePtr(new MockProgram(toClDeviceVector(*pClDevice)))};
|
||||
uint32_t spirv[16] = {0x03022307, 0x23471113, 0x17192329};
|
||||
program->irBinary = makeCopy(spirv, sizeof(spirv));
|
||||
@@ -2520,6 +2555,8 @@ TEST_F(ProgramTests, givenProgramWithSpirvWhenRebuildIsCalledButSuppressFlagIsEn
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, givenProgramWithSpirvWhenRecompileIsCalledThenRebuildWarningIsIssued) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
const auto program{clUniquePtr(new MockProgram(toClDeviceVector(*pClDevice)))};
|
||||
uint32_t spirv[16] = {0x03022307, 0x23471113, 0x17192329};
|
||||
program->irBinary = makeCopy(spirv, sizeof(spirv));
|
||||
@@ -2536,6 +2573,8 @@ TEST_F(ProgramTests, givenProgramWithSpirvWhenRecompileIsCalledThenRebuildWarnin
|
||||
}
|
||||
|
||||
TEST_F(ProgramTests, givenProgramWithSpirvWhenRecompileIsCalledButSuppressFlagIsEnabledThenRebuildWarningIsNotIssued) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
const auto program{clUniquePtr(new MockProgram(toClDeviceVector(*pClDevice)))};
|
||||
uint32_t spirv[16] = {0x03022307, 0x23471113, 0x17192329};
|
||||
program->irBinary = makeCopy(spirv, sizeof(spirv));
|
||||
@@ -3088,6 +3127,8 @@ struct DebugDataGuard {
|
||||
};
|
||||
|
||||
TEST_F(ProgramBinTest, GivenBuildWithDebugDataThenBuildDataAvailableViaGetInfo) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
DebugDataGuard debugDataGuard;
|
||||
|
||||
const char *sourceCode = "__kernel void\nCB(\n__global unsigned int* src, __global unsigned int* dst)\n{\nint id = (int)get_global_id(0);\ndst[id] = src[id];\n}\n";
|
||||
@@ -3175,6 +3216,8 @@ TEST_F(ProgramBinTest, givenNoDebugDataAvailableThenDebugDataIsNotAvailableViaGe
|
||||
}
|
||||
|
||||
TEST_F(ProgramBinTest, GivenDebugDataAvailableWhenLinkingProgramThenDebugDataIsStoredInProgram) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
DebugDataGuard debugDataGuard;
|
||||
|
||||
const char *sourceCode = "__kernel void\nCB(\n__global unsigned int* src, __global unsigned int* dst)\n{\nint id = (int)get_global_id(0);\ndst[id] = src[id];\n}\n";
|
||||
@@ -3233,6 +3276,8 @@ class MockCompilerInterfaceWithGtpinParam : public CompilerInterface {
|
||||
};
|
||||
|
||||
TEST_F(ProgramBinTest, GivenSourceKernelWhenLinkingProgramThenGtpinInitInfoIsPassed) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
void *pIgcInitPtr = reinterpret_cast<void *>(0x1234);
|
||||
gtpinSetIgcInit(pIgcInitPtr);
|
||||
const char *sourceCode = "__kernel void\nCB(\n__global unsigned int* src, __global unsigned int* dst)\n{\nint id = (int)get_global_id(0);\ndst[id] = src[id];\n}\n";
|
||||
@@ -3300,6 +3345,8 @@ TEST(ProgramCallbackTest, whenInvokeCallbackIsCalledThenFunctionIsProperlyInvoke
|
||||
}
|
||||
|
||||
TEST(BuildProgramTest, givenMultiDeviceProgramWhenBuildingThenStoreAndProcessBinaryOnlyOncePerRootDevice) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
MockProgram *pProgram = nullptr;
|
||||
std::unique_ptr<char[]> pSource = nullptr;
|
||||
size_t sourceSize = 0;
|
||||
@@ -3358,6 +3405,8 @@ TEST(BuildProgramTest, givenMultiDeviceProgramWhenBuildingThenStoreAndProcessBin
|
||||
}
|
||||
|
||||
TEST(BuildProgramTest, givenMultiDeviceProgramWhenBuildingThenStoreKernelInfoPerEachRootDevice) {
|
||||
USE_REAL_FILE_SYSTEM();
|
||||
|
||||
MockProgram *pProgram = nullptr;
|
||||
std::unique_ptr<char[]> pSource = nullptr;
|
||||
size_t sourceSize = 0;
|
||||
@@ -3963,4 +4012,4 @@ TEST(ProgramGenerateDefaultArgsMetadataTests, whenGeneratingDefaultMetadataForSa
|
||||
|
||||
buildInfo.kernelInfoArray.clear();
|
||||
buildInfo.unpackedDeviceBinary.release();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user