Skip to content

Commit d257eeb

Browse files
authored
[projmgr] Decrease pack letter case inconsistency severity
1 parent fb51ddc commit d257eeb

File tree

3 files changed

+20
-10
lines changed

3 files changed

+20
-10
lines changed

libs/rtefsutils/src/RteFsUtils.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -641,9 +641,7 @@ string RteFsUtils::FindFirstFileWithExt(const std::string &folder, const char *e
641641
void RteFsUtils::GetFilesSorted(const string &folder, set<string, VersionCmp::Greater> &files) {
642642
error_code ec;
643643
// Path does not exist, nothing to do
644-
if ((folder.empty() || !fs::exists(folder, ec) || !fs::is_directory(folder, ec)) ||
645-
// Check case consistency
646-
(fs::canonical(folder, ec).generic_string().find(fs::path(folder).lexically_normal().generic_string()) == string::npos)) {
644+
if (folder.empty() || !fs::exists(folder, ec) || !fs::is_directory(folder, ec)) {
647645
return;
648646
}
649647
for (auto entry : fs::directory_iterator(folder, ec)) {

libs/rtemodel/src/RteModel.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -430,9 +430,12 @@ bool RteModel::Validate()
430430
for (auto duplicate : m_packageDuplicates) {
431431
RtePackage* orig = GetPackage(duplicate->GetID());
432432

433-
string msg = duplicate->GetPackageFileName();
434-
msg += ": warning #500: pack '" + duplicate->GetID() + "' is already defined in file " + orig->GetPackageFileName();
435-
msg += " - duplicate is ignored";
433+
string msg = "warning #500: pack '" + duplicate->GetID() + "' is duplicated";
434+
if (RteUtils::EqualNoCase(duplicate->GetPackageFileName(), orig->GetPackageFileName())) {
435+
msg += ", letter case is inconsistent";
436+
}
437+
msg += ":\n " + orig->GetPackageFileName() +
438+
"\n " + duplicate->GetPackageFileName() + " - ignored";
436439
m_errors.push_back(msg);
437440
}
438441

tools/projmgr/test/src/ProjMgrUnitTests.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6558,10 +6558,19 @@ TEST_F(ProjMgrUnitTests, PackCaseSensitive) {
65586558
const string& csolution = testinput_folder + "/TestSolution/pack_case_sensitive.csolution.yml";
65596559
argv[1] = (char*)"convert";
65606560
argv[2] = (char*)csolution.c_str();
6561-
EXPECT_EQ(1, RunProjMgr(3, argv, 0));
6562-
const YAML::Node& cbuild = YAML::LoadFile(testinput_folder + "/TestSolution/pack_case_sensitive.cbuild-idx.yml");
6563-
EXPECT_EQ("required pack: Arm::RteTest_DFP not installed",
6564-
cbuild["build-idx"]["cbuilds"][0]["messages"]["errors"][0].as<string>());
6561+
if (CrossPlatformUtils::GetHostType() == "linux") {
6562+
EXPECT_EQ(1, RunProjMgr(3, argv, 0));
6563+
} else {
6564+
EXPECT_EQ(0, RunProjMgr(3, argv, 0));
6565+
const YAML::Node& cbuild = YAML::LoadFile(testinput_folder + "/TestSolution/pack_case_sensitive.cbuild-idx.yml");
6566+
const string& expected = "\
6567+
RTE Model reports:\n\
6568+
warning #500: pack 'ARM::[email protected]' is duplicated, letter case is inconsistent:\n\
6569+
.*/ARM/RteTest_DFP/0.2.0/ARM.RteTest_DFP.pdsc\n\
6570+
.*/Arm/RteTest_DFP/0.2.0/Arm.RteTest_DFP.pdsc - ignored\
6571+
";
6572+
EXPECT_TRUE(regex_search(cbuild["build-idx"]["cbuilds"][0]["messages"]["warnings"][0].as<string>(), regex(expected)));
6573+
}
65656574
}
65666575

65676576
TEST_F(ProjMgrUnitTests, InvalidContextSet) {

0 commit comments

Comments
 (0)