test: mock file system in file logger tests

Related-To: NEO-14110
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2025-07-03 12:20:05 +00:00
committed by Compute-Runtime-Automation
parent d896d98a61
commit 9dbdbd50f2
6 changed files with 14 additions and 45 deletions

View File

@@ -151,7 +151,6 @@ TEST(FileLogger, GivenMdiWhenDumpingKernelArgsThenFileIsCreated) {
flags.DumpKernelArgs.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
FullyEnabledClFileLogger clFileLogger(fileLogger, flags);
fileLogger.useRealFiles(false);
clFileLogger.dumpKernelArgs(multiDispatchInfo.get());
@@ -216,7 +215,6 @@ TEST(FileLogger, GivenImmediateWhenDumpingKernelArgsThenFileIsCreated) {
flags.DumpKernelArgs.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
FullyEnabledClFileLogger clFileLogger(fileLogger, flags);
fileLogger.useRealFiles(false);
clFileLogger.dumpKernelArgs(multiDispatchInfo.get());
@@ -332,7 +330,6 @@ TEST(FileLogger, GivenBufferWhenDumpingKernelArgsThenFileIsCreated) {
flags.DumpKernelArgs.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
FullyEnabledClFileLogger clFileLogger(fileLogger, flags);
fileLogger.useRealFiles(false);
clFileLogger.dumpKernelArgs(multiDispatchInfo.get());

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2024 Intel Corporation
* Copyright (C) 2019-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -20,7 +20,7 @@ template <DebugFunctionalityLevel debugLevel>
class TestClFileLogger : public NEO::ClFileLogger<debugLevel> {
public:
TestClFileLogger(TestFileLogger<debugLevel> &baseLoggerInm, const NEO::DebugVariables &flags)
: NEO::ClFileLogger<debugLevel>(baseLoggerInm, flags), baseLogger(baseLoggerInm) { baseLogger.useRealFiles(false); }
: NEO::ClFileLogger<debugLevel>(baseLoggerInm, flags), baseLogger(baseLoggerInm) {}
protected:
TestFileLogger<debugLevel> &baseLogger;
@@ -39,4 +39,4 @@ class TestLoggerApiEnterWrapper : public NEO::LoggerApiEnterWrapper<debugFunctio
};
using FullyEnabledClFileLogger = TestClFileLogger<DebugFunctionalityLevel::full>;
using FullyDisabledClFileLogger = TestClFileLogger<DebugFunctionalityLevel::none>;
using FullyDisabledClFileLogger = TestClFileLogger<DebugFunctionalityLevel::none>;

View File

@@ -35,19 +35,10 @@ class TestFileLogger : public NEO::FileLogger<debugLevel> {
}
}
void useRealFiles(bool value) {
mockFileSystem = !value;
}
void writeToFile(std::string filename,
const char *str,
size_t length,
std::ios_base::openmode mode) override {
if (mockFileSystem == false) {
NEO::FileLogger<debugLevel>::writeToFile(filename, str, length, mode);
return;
}
writeDataToFile(filename.c_str(), std::string_view(str, length));
}
@@ -62,9 +53,6 @@ class TestFileLogger : public NEO::FileLogger<debugLevel> {
std::string getFileString(std::string filename) {
return NEO::virtualFileList[filename].str();
}
protected:
bool mockFileSystem = false;
};
using FullyEnabledFileLogger = TestFileLogger<DebugFunctionalityLevel::full>;

View File

@@ -23,7 +23,6 @@ TEST(FileLogger, GivenLogAllocationMemoryPoolFlagThenLogsCorrectInfo) {
DebugVariables flags;
flags.LogAllocationMemoryPool.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
// Log file not created
bool logFileCreated = virtualFileExists(fileLogger.getLogFileName());
@@ -91,7 +90,6 @@ TEST(FileLogger, givenLogAllocationStdoutWhenLogAllocationThenLogToStdoutInstead
flags.LogAllocationMemoryPool.set(true);
flags.LogAllocationStdout.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
// Log file not created
bool logFileCreated = virtualFileExists(fileLogger.getLogFileName());
@@ -153,7 +151,6 @@ TEST(FileLogger, GivenDrmAllocationWithoutBOThenNoHandleLogged) {
DebugVariables flags;
flags.LogAllocationMemoryPool.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
// Log file not created
bool logFileCreated = virtualFileExists(fileLogger.getLogFileName());
@@ -190,7 +187,6 @@ TEST(FileLogger, GivenLogAllocationMemoryPoolFlagSetFalseThenAllocationIsNotLogg
DebugVariables flags;
flags.LogAllocationMemoryPool.set(false);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
// Log file not created
bool logFileCreated = virtualFileExists(fileLogger.getLogFileName());

View File

@@ -62,19 +62,17 @@ TEST_F(FileLoggerTests, GivenLogAllocationMemoryPoolFlagThenLogsCorrectInfo) {
std::stringstream totalLocalMemoryCheck;
totalLocalMemoryCheck << "Total lmem allocated: " << std::dec << executionEnvironment->memoryManager->getUsedLocalMemorySize(0);
if (fileLogger.wasFileCreated(fileLogger.getLogFileName())) {
auto str = fileLogger.getFileString(fileLogger.getLogFileName());
EXPECT_TRUE(str.find(threadIDCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find("Handle: 4") != std::string::npos);
EXPECT_TRUE(str.find(memoryPoolCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find(gpuAddressCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find(rootDeviceIndexCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find("UNKNOWN GMM USAGE TYPE 40") != std::string::npos);
EXPECT_TRUE(str.find("Type: BUFFER") != std::string::npos);
EXPECT_TRUE(str.find("Size: 777") != std::string::npos);
EXPECT_TRUE(str.find(totalSystemMemoryCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find(totalLocalMemoryCheck.str()) != std::string::npos);
}
ASSERT_TRUE(fileLogger.wasFileCreated(fileLogger.getLogFileName()));
auto str = fileLogger.getFileString(fileLogger.getLogFileName());
EXPECT_TRUE(str.find(threadIDCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find("Handle: 4") != std::string::npos);
EXPECT_TRUE(str.find(memoryPoolCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find(gpuAddressCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find(rootDeviceIndexCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find("Type: BUFFER") != std::string::npos);
EXPECT_TRUE(str.find("Size: 777") != std::string::npos);
EXPECT_TRUE(str.find(totalSystemMemoryCheck.str()) != std::string::npos);
EXPECT_TRUE(str.find(totalLocalMemoryCheck.str()) != std::string::npos);
}
TEST_F(FileLoggerTests, GivenLogAllocationMemoryPoolFlagSetFalseThenAllocationIsNotLogged) {

View File

@@ -53,7 +53,6 @@ TEST(FileLogger, GivenFullyDisabledFileLoggerIsCreatedThenItIsDisabled) {
TEST(FileLogger, GivenFileLoggerWhenSettingFileNameThenCorrectFilenameIsSet) {
DebugVariables flags;
FullyEnabledFileLogger fileLogger(std::string(""), flags);
fileLogger.useRealFiles(false);
fileLogger.setLogFileName("new_filename");
EXPECT_STREQ("new_filename", fileLogger.getLogFileName());
}
@@ -62,7 +61,6 @@ TEST(FileLogger, GivenEnabledDebugFunctinalityWhenLoggingApiCallsThenDumpToFile)
DebugVariables flags;
flags.LogApiCalls.set(true);
FullyEnabledFileLogger fileLogger(std::string("test.log"), flags);
fileLogger.useRealFiles(false);
fileLogger.logApiCall("searchString", true, 0);
fileLogger.logApiCall("searchString2", false, 0);
@@ -122,7 +120,6 @@ TEST(FileLogger, GivenCorrectFilenameFileWhenLoggingApiCallsThenFileIsCreated) {
std::string testFile = "testfile";
DebugVariables flags;
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
fileLogger.writeToFile(testFile, "test", 4, std::fstream::out);
EXPECT_TRUE(virtualFileExists(fileLogger.getLogFileName()));
@@ -136,7 +133,6 @@ TEST(FileLogger, GivenSameFileNameWhenCreatingNewInstanceThenOldFileIsRemoved) {
DebugVariables flags;
flags.LogApiCalls.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
fileLogger.writeToFile(fileLogger.getLogFileName(), "test", 4, std::fstream::out);
EXPECT_TRUE(virtualFileExists(fileLogger.getLogFileName()));
@@ -149,7 +145,6 @@ TEST(FileLogger, GivenSameFileNameWhenCreatingNewFullyDisabledLoggerThenOldFileI
DebugVariables flags;
flags.LogApiCalls.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
fileLogger.writeToFile(fileLogger.getLogFileName(), "test", 4, std::fstream::out);
EXPECT_TRUE(virtualFileExists(fileLogger.getLogFileName()));
@@ -166,7 +161,6 @@ TEST(FileLogger, GivenFlagIsFalseWhenLoggingThenOnlyCustomLogsAreDumped) {
flags.LogApiCalls.set(false);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
// Log file not created
bool logFileCreated = virtualFileExists(fileLogger.getLogFileName());
@@ -265,7 +259,6 @@ TEST(FileLogger, WhenDumpingKernelThenFileIsCreated) {
DebugVariables flags;
flags.DumpKernels.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
std::string kernelDumpFile = "testDumpKernel";
// test kernel dumping
@@ -290,7 +283,6 @@ TEST(FileLogger, WhenDumpingBinaryFileThenFileIsCreated) {
DebugVariables flags;
flags.DumpKernels.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
std::string programDumpFile = "programBinary.bin";
size_t length = 4;
unsigned char binary[4];
@@ -436,7 +428,6 @@ TEST(FileLogger, givenEnabledLogWhenLogDebugStringCalledThenStringIsWrittenToFil
std::string testFile = "testfile";
DebugVariables flags;
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
fileLogger.logDebugString(true, "test log");
EXPECT_EQ(std::string("test log"), fileLogger.getFileString(testFile));
@@ -560,7 +551,6 @@ TEST(AllocationTypeLoggingSingle, givenLogAllocationTypeWhenLoggingAllocationThe
flags.LogAllocationType.set(1);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(false);
GraphicsAllocation graphicsAllocation(0, 1u /*num gmms*/, AllocationType::commandBuffer, nullptr, 0, 0, MemoryPool::memoryNull, MemoryManager::maxOsContextCount, 0llu);