Skip to content

Commit bf12e61

Browse files
authored
Improve get all files in directory unit test (#2666)
Inverting the logic to compare file list to account for possible OS level files like .DS_Store
1 parent 3fc9dc8 commit bf12e61

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

source/MaterialXFormat/File.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ FilePathVec FilePath::getFilesInDirectory(const string& extension) const
185185

186186
#if defined(_WIN32)
187187
WIN32_FIND_DATAA fd;
188-
FilePath query = extension.empty() ? *this : (*this / ("*." + extension));
188+
FilePath query = extension.empty() ? (*this / "*") : (*this / ("*." + extension));
189189
HANDLE hFind = FindFirstFileA(query.asString().c_str(), &fd);
190190
if (hFind != INVALID_HANDLE_VALUE)
191191
{

source/MaterialXTest/MaterialXFormat/File.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,20 +185,23 @@ TEST_CASE("Get all files in directory", "[file]")
185185
mx::FilePathVec results;
186186

187187
results = lightsDir.getFilesInDirectory("mtlx");
188-
for (const mx::FilePath& filename : results)
188+
REQUIRE(results.size() > 0);
189+
for (const mx::FilePath& filename : mtlxFilenames)
189190
{
190-
REQUIRE(std::find(mtlxFilenames.begin(), mtlxFilenames.end(), filename) != mtlxFilenames.end());
191+
REQUIRE(std::find(results.begin(), results.end(), filename) != results.end());
191192
}
192193

193194
results = lightsDir.getFilesInDirectory("hdr");
194-
for (const mx::FilePath& filename : results)
195+
REQUIRE(results.size() > 0);
196+
for (const mx::FilePath& filename : hdrFilenames)
195197
{
196-
REQUIRE(std::find(hdrFilenames.begin(), hdrFilenames.end(), filename) != hdrFilenames.end());
198+
REQUIRE(std::find(results.begin(), results.end(), filename) != results.end());
197199
}
198200

199201
results = lightsDir.getFilesInDirectory();
200-
for (const mx::FilePath& filename : results)
202+
REQUIRE(results.size() > 0);
203+
for (const mx::FilePath& filename : allFilesnames)
201204
{
202-
REQUIRE(std::find(allFilesnames.begin(), allFilesnames.end(), filename) != allFilesnames.end());
205+
REQUIRE(std::find(results.begin(), results.end(), filename) != results.end());
203206
}
204207
}

0 commit comments

Comments
 (0)