* Copyright (c), Huawei Technologies Co., Ltd. 2025-2025.All rights reserved.
*/
#include <gtest/gtest.h>
#include "FileManager/FileInfoManager.h"
#include "TestUtil.h"
using namespace Insight::Scalar::FileInfo;
namespace Insight::UnitTest {
class FileInfoManagerTest : public testing::Test
{
protected:
FileInfoManager manager_;
void SetUp() override
{
manager_.Reset();
}
};
TEST_F(FileInfoManagerTest, AddFile)
{
manager_.AddFile("test1", ParseDataType::TF_EVENT);
manager_.AddFile("test2", ParseDataType::MINDSPORE_SUMMARY);
manager_.AddFile("test3", ParseDataType::TEXT_LOG);
manager_.AddFile("test4", ParseDataType::Unknown);
auto file1 = manager_.GetFileInfo("test1");
EXPECT_EQ(file1->DataType(), ParseDataType::TF_EVENT);
auto file2 = manager_.GetFileInfo("test2");
EXPECT_EQ(file2->DataType(), ParseDataType::MINDSPORE_SUMMARY);
auto file3 = manager_.GetFileInfo("test3");
EXPECT_EQ(file3->DataType(), ParseDataType::TEXT_LOG);
auto file4 = manager_.GetFileInfo("test4");
EXPECT_EQ(file4->DataType(), ParseDataType::Unknown);
}
TEST_F(FileInfoManagerTest, DelFile)
{
manager_.AddFile("test1", ParseDataType::TF_EVENT);
manager_.DelFileFromMap("test1");
auto file = manager_.GetFileInfo("test1");
EXPECT_EQ(file, nullptr);
}
TEST_F(FileInfoManagerTest, Reset)
{
manager_.AddFile("test1", ParseDataType::TF_EVENT);
manager_.Reset();
auto file = manager_.GetFileInfo("test1");
EXPECT_EQ(file, nullptr);
}
TEST_F(FileInfoManagerTest, FileCreated)
{
manager_.OnFileCreate("work1", "test1");
manager_.OnFileCreate("work1", "test2");
manager_.OnFileCreate("work2", "test3");
auto createFile = manager_.GetCreatedFileGroupByDir();
EXPECT_NE(createFile.find("work1"), createFile.end());
EXPECT_NE(createFile.find("work2"), createFile.end());
auto work1Files = createFile["work1"];
EXPECT_EQ(work1Files.count("test1"), 1);
EXPECT_EQ(work1Files.count("test2"), 1);
auto work2Files = createFile["work2"];
EXPECT_EQ(work2Files.count("test3"), 1);
EXPECT_EQ(work2Files.count("test2"), 0);
}
TEST_F(FileInfoManagerTest, GetFileType)
{
EXPECT_EQ(FileInfoManager::GetFileType("events.out.tfevents.1739845347"), ParseDataType::TF_EVENT);
EXPECT_EQ(FileInfoManager::GetFileType("events.out.events.summary.17392"), ParseDataType::MINDSPORE_SUMMARY);
EXPECT_EQ(FileInfoManager::GetFileType("worker_1.log"), ParseDataType::TEXT_LOG);
EXPECT_EQ(FileInfoManager::GetFileType("npu_10.log"), ParseDataType::TEXT_LOG);
EXPECT_EQ(FileInfoManager::GetFileType("rank_0.log"), ParseDataType::TEXT_LOG);
EXPECT_EQ(FileInfoManager::GetFileType("normal.log"), ParseDataType::Unknown);
}
TEST_F(FileInfoManagerTest, FileSupport)
{
EXPECT_EQ(FileInfoManager::IsFileSupported("events.out.tfevents.1739845347"), true);
EXPECT_EQ(FileInfoManager::IsFileSupported("/root/data/events.out.tfevents.1739845347"), true);
EXPECT_EQ(FileInfoManager::IsFileSupported("normal.log"), false);
}
}