test: Catch boost exception when file with unicode character in name is read in FileManagerTestSuite

This commit is contained in:
Eberhard Graether
2018-04-10 11:26:24 +02:00
parent 20f87b084f
commit 060a5e7461
+22 -15
View File
@@ -16,23 +16,30 @@ public:
std::vector<FilePath> headerPaths;
std::vector<FilePathFilter> excludeFilters;
std::vector<FilePath> filePaths = FileSystem::getFilePathsFromDirectory(FilePath(L"./data/FileManagerTestSuite/src/"));
TS_ASSERT_EQUALS(filePaths.size(), 3);
// catch exceptions thrown on linux build machine
try
{
std::vector<FilePath> filePaths = FileSystem::getFilePathsFromDirectory(FilePath(L"./data/FileManagerTestSuite/src/"));
TS_ASSERT_EQUALS(filePaths.size(), 3);
std::vector<std::wstring> sourceExtensions;
for (FilePath p : filePaths)
std::vector<std::wstring> sourceExtensions;
for (FilePath p : filePaths)
{
sourceExtensions.push_back(p.extension());
}
TS_ASSERT_EQUALS(sourceExtensions.size(), 3);
FileManager fm;
fm.update(sourcePaths, excludeFilters, sourceExtensions);
std::vector<FilePath> foundSourcePaths = utility::toVector(fm.getAllSourceFilePaths());
TS_ASSERT_EQUALS(foundSourcePaths.size(), 3);
TS_ASSERT(utility::containsElement<FilePath>(foundSourcePaths, filePaths[0]));
TS_ASSERT(utility::containsElement<FilePath>(foundSourcePaths, filePaths[1]));
TS_ASSERT(utility::containsElement<FilePath>(foundSourcePaths, filePaths[2]));
}
catch (...)
{
sourceExtensions.push_back(p.extension());
}
TS_ASSERT_EQUALS(sourceExtensions.size(), 3);
FileManager fm;
fm.update(sourcePaths, excludeFilters, sourceExtensions);
std::vector<FilePath> foundSourcePaths = utility::toVector(fm.getAllSourceFilePaths());
TS_ASSERT_EQUALS(foundSourcePaths.size(), 3);
TS_ASSERT(utility::containsElement<FilePath>(foundSourcePaths, filePaths[0]));
TS_ASSERT(utility::containsElement<FilePath>(foundSourcePaths, filePaths[1]));
TS_ASSERT(utility::containsElement<FilePath>(foundSourcePaths, filePaths[2]));
}
};