diff options
Diffstat (limited to 'render-test/manifest_parser.cpp')
-rw-r--r-- | render-test/manifest_parser.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/render-test/manifest_parser.cpp b/render-test/manifest_parser.cpp index bcc10c91d4..e3217f0f50 100644 --- a/render-test/manifest_parser.cpp +++ b/render-test/manifest_parser.cpp @@ -257,7 +257,7 @@ mbgl::filesystem::path getValidPath(const std::string& manifestPath, const std:: mbgl::optional<Manifest> ManifestParser::parseManifest(const std::string& manifestPath, const std::vector<std::string>& testNames, - const std::string& testFilter) { + std::string testFilter) { Manifest manifest; const auto filePath = mbgl::filesystem::path(manifestPath); manifest.manifestPath = manifestPath.substr(0, manifestPath.find(filePath.filename())); @@ -412,6 +412,17 @@ mbgl::optional<Manifest> ManifestParser::parseManifest(const std::string& manife } } + if (testFilter.empty() && document.HasMember("filter")) { + const auto& filterValue = document["filter"]; + if (!filterValue.IsString()) { + mbgl::Log::Warning( + mbgl::Event::General, "Invalid filter is provoided inside the manifest file: %s", filePath.c_str()); + return mbgl::nullopt; + } + + testFilter = filterValue.GetString(); + } + manifest.testRootPath = enbaleProbeTest ? probeTestPath.string() : baseTestPath.string(); if (manifest.testRootPath.back() == '/') { manifest.testRootPath.pop_back(); |