[test runner] Fix finding of expected images paths

Before this change, the found paths to the expected images
erroneously included the path to the `metrics.json` file
(if this file was present) leading to raising of an
unhandled exception.
This commit is contained in:
Mikhail Pozdnyakov
2019-10-09 13:26:28 +03:00
parent d0281e3ca4
commit b4e0224a57
3 changed files with 16 additions and 6 deletions

View File

@@ -291,9 +291,8 @@ std::string serializeMetrics(const TestMetrics& metrics) {
return s.GetString();
}
std::vector<std::string> readExpectedEntries(const mbgl::filesystem::path& base) {
static const std::regex regex(".*expected.*.png|.*expected.*.json");
namespace {
std::vector<std::string> readExpectedEntries(const std::regex& regex, const mbgl::filesystem::path& base) {
std::vector<std::string> expectedImages;
for (const auto& entry : mbgl::filesystem::directory_iterator(base)) {
if (entry.is_regular_file()) {
@@ -305,7 +304,17 @@ std::vector<std::string> readExpectedEntries(const mbgl::filesystem::path& base)
}
return expectedImages;
}
} // namespace
std::vector<std::string> readExpectedImageEntries(const mbgl::filesystem::path& base) {
static const std::regex regex(".*expected.*.png");
return readExpectedEntries(regex, base);
}
std::vector<std::string> readExpectedJSONEntries(const mbgl::filesystem::path& base) {
static const std::regex regex(".*expected.*.json");
return readExpectedEntries(regex, base);
}
ArgumentsTuple parseArguments(int argc, char** argv) {
args::ArgumentParser argumentParser("Mapbox GL Test Runner");