mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 06:24:51 +08:00
refactor: use virtualFileSystem in FileLogger ULTs
restored the possibility of different writing modes in the FileLogger mocked writeToFile in TestFileLogger Related-To: NEO-7006 Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
6d96572c2c
commit
ee0648c365
@@ -153,6 +153,7 @@ TEST(FileLogger, GivenMdiWhenDumpingKernelArgsThenFileIsCreated) {
|
||||
flags.DumpKernelArgs.set(true);
|
||||
FullyEnabledFileLogger fileLogger(testFile, flags);
|
||||
FullyEnabledClFileLogger clFileLogger(fileLogger, flags);
|
||||
fileLogger.useRealFiles(false);
|
||||
|
||||
clFileLogger.dumpKernelArgs(multiDispatchInfo.get());
|
||||
|
||||
@@ -217,6 +218,7 @@ TEST(FileLogger, GivenImmediateWhenDumpingKernelArgsThenFileIsCreated) {
|
||||
flags.DumpKernelArgs.set(true);
|
||||
FullyEnabledFileLogger fileLogger(testFile, flags);
|
||||
FullyEnabledClFileLogger clFileLogger(fileLogger, flags);
|
||||
fileLogger.useRealFiles(false);
|
||||
|
||||
clFileLogger.dumpKernelArgs(multiDispatchInfo.get());
|
||||
|
||||
@@ -332,6 +334,7 @@ TEST(FileLogger, GivenBufferWhenDumpingKernelArgsThenFileIsCreated) {
|
||||
flags.DumpKernelArgs.set(true);
|
||||
FullyEnabledFileLogger fileLogger(testFile, flags);
|
||||
FullyEnabledClFileLogger clFileLogger(fileLogger, flags);
|
||||
fileLogger.useRealFiles(false);
|
||||
|
||||
clFileLogger.dumpKernelArgs(multiDispatchInfo.get());
|
||||
|
||||
|
||||
@@ -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) { ; }
|
||||
: NEO::ClFileLogger<debugLevel>(baseLoggerInm, flags), baseLogger(baseLoggerInm) { baseLogger.useRealFiles(false); }
|
||||
|
||||
protected:
|
||||
TestFileLogger<debugLevel> &baseLogger;
|
||||
|
||||
@@ -45,7 +45,11 @@ FileLogger<debugLevel>::~FileLogger() = default;
|
||||
template <DebugFunctionalityLevel debugLevel>
|
||||
void FileLogger<debugLevel>::writeToFile(std::string filename, const char *str, size_t length, std::ios_base::openmode mode) {
|
||||
std::lock_guard theLock(mutex);
|
||||
writeDataToFile(filename.c_str(), str, length);
|
||||
std::ofstream outFile(filename, mode);
|
||||
if (outFile.is_open()) {
|
||||
outFile.write(str, length);
|
||||
outFile.close();
|
||||
}
|
||||
}
|
||||
|
||||
template <DebugFunctionalityLevel debugLevel>
|
||||
|
||||
@@ -35,12 +35,20 @@ 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 {
|
||||
|
||||
NEO::FileLogger<debugLevel>::writeToFile(filename, str, length, mode);
|
||||
if (mockFileSystem == false) {
|
||||
NEO::FileLogger<debugLevel>::writeToFile(filename, str, length, mode);
|
||||
return;
|
||||
}
|
||||
writeDataToFile(filename.c_str(), str, length);
|
||||
}
|
||||
|
||||
int32_t createdFilesCount() {
|
||||
@@ -54,6 +62,9 @@ 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>;
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "shared/test/common/debug_settings/debug_settings_manager_fixture.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/helpers/gtest_helpers.h"
|
||||
#include "shared/test/common/helpers/mock_file_io.h"
|
||||
#include "shared/test/common/helpers/variable_backup.h"
|
||||
#include "shared/test/common/mocks/mock_io_functions.h"
|
||||
#include "shared/test/common/mocks/mock_product_helper.h"
|
||||
@@ -403,25 +402,21 @@ TEST(DebugSettingsManager, GivenLogsEnabledAndDumpToFileWhenPrintDebuggerLogCall
|
||||
|
||||
auto logFile = NEO::fileLoggerInstance().getLogFileName();
|
||||
|
||||
if (virtualFileExists(logFile)) {
|
||||
removeVirtualFile(logFile);
|
||||
}
|
||||
std::remove(logFile);
|
||||
|
||||
::testing::internal::CaptureStdout();
|
||||
PRINT_DEBUGGER_LOG(stdout, "test %s", "log");
|
||||
auto output = ::testing::internal::GetCapturedStdout();
|
||||
EXPECT_EQ(0u, output.size());
|
||||
|
||||
auto logFileExists = virtualFileExists(logFile);
|
||||
auto logFileExists = fileExists(logFile);
|
||||
EXPECT_TRUE(logFileExists);
|
||||
|
||||
size_t retSize;
|
||||
auto data = loadDataFromVirtualFile(logFile, retSize);
|
||||
auto data = loadDataFromFile(logFile, retSize);
|
||||
|
||||
EXPECT_STREQ("test log", data.get());
|
||||
if (virtualFileExists(logFile)) {
|
||||
removeVirtualFile(logFile);
|
||||
}
|
||||
std::remove(logFile);
|
||||
}
|
||||
|
||||
TEST(DebugSettingsManager, GivenLogsDisabledAndDumpToFileWhenPrintDebuggerLogCalledThenStringIsNotPrintedToFile) {
|
||||
|
||||
@@ -52,6 +52,7 @@ 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());
|
||||
}
|
||||
@@ -60,6 +61,7 @@ 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);
|
||||
@@ -119,6 +121,7 @@ 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()));
|
||||
@@ -132,6 +135,7 @@ 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()));
|
||||
@@ -144,6 +148,7 @@ 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()));
|
||||
@@ -160,6 +165,7 @@ TEST(FileLogger, GivenFlagIsFalseWhenLoggingThenOnlyCustomLogsAreDumped) {
|
||||
flags.LogApiCalls.set(false);
|
||||
|
||||
FullyEnabledFileLogger fileLogger(testFile, flags);
|
||||
fileLogger.useRealFiles(false);
|
||||
|
||||
// Log file not created
|
||||
bool logFileCreated = virtualFileExists(fileLogger.getLogFileName());
|
||||
@@ -258,6 +264,7 @@ TEST(FileLogger, WhenDumpingKernelThenFileIsCreated) {
|
||||
DebugVariables flags;
|
||||
flags.DumpKernels.set(true);
|
||||
FullyEnabledFileLogger fileLogger(testFile, flags);
|
||||
fileLogger.useRealFiles(false);
|
||||
std::string kernelDumpFile = "testDumpKernel";
|
||||
|
||||
// test kernel dumping
|
||||
@@ -282,6 +289,7 @@ 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];
|
||||
@@ -427,6 +435,7 @@ 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));
|
||||
@@ -549,6 +558,7 @@ 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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user