fix: do not remove log file when logging disabled

- initialization of FileLogger always removed log file - this change only
removes old file when logging is enabled in current run

Resolves: NEO-7199

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe 2023-04-20 17:44:47 +00:00 committed by Compute-Runtime-Automation
parent cdd91d64c6
commit 44273fcea0
2 changed files with 17 additions and 1 deletions

View File

@ -25,7 +25,9 @@ FileLogger<globalDebugFunctionalityLevel> &fileLoggerInstance() {
template <DebugFunctionalityLevel DebugLevel>
FileLogger<DebugLevel>::FileLogger(std::string filename, const DebugVariables &flags) {
logFileName = std::move(filename);
std::remove(logFileName.c_str());
if (enabled()) {
std::remove(logFileName.c_str());
}
dumpKernels = flags.DumpKernels.get();
logApiCalls = flags.LogApiCalls.get();

View File

@ -126,6 +126,20 @@ TEST(FileLogger, GivenSameFileNameWhenCreatingNewInstanceThenOldFileIsRemoved) {
EXPECT_FALSE(fileExists(fileLogger.getLogFileName()));
}
TEST(FileLogger, GivenSameFileNameWhenCreatingNewFullyDisabledLoggerThenOldFileIsNotRemoved) {
std::string testFile = "testfile";
DebugVariables flags;
flags.LogApiCalls.set(true);
FullyEnabledFileLogger fileLogger(testFile, flags);
fileLogger.useRealFiles(true);
fileLogger.writeToFile(fileLogger.getLogFileName(), "test", 4, std::fstream::out);
EXPECT_TRUE(fileExists(fileLogger.getLogFileName()));
FullyDisabledFileLogger fileLogger2(testFile, flags);
EXPECT_TRUE(fileExists(fileLogger.getLogFileName()));
std::remove(fileLogger.getLogFileName());
}
TEST(FileLogger, GivenFlagIsFalseWhenLoggingThenOnlyCustomLogsAreDumped) {
std::string testFile = "testfile";
DebugVariables flags;