summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--render-test/manifest_parser.cpp16
-rw-r--r--render-test/manifest_parser.hpp2
2 files changed, 18 insertions, 0 deletions
diff --git a/render-test/manifest_parser.cpp b/render-test/manifest_parser.cpp
index 34be621a7f..6aec4b3593 100644
--- a/render-test/manifest_parser.cpp
+++ b/render-test/manifest_parser.cpp
@@ -44,6 +44,10 @@ const std::string& Manifest::getResultPath() const {
return resultPath;
}
+const std::string& Manifest::getCachePath() const {
+ return cachePath;
+}
+
const std::set<std::string>& Manifest::getProbes() const {
return probes;
}
@@ -305,6 +309,18 @@ mbgl::optional<Manifest> ManifestParser::parseManifest(const std::string& manife
return mbgl::nullopt;
}
}
+ if (document.HasMember("cache_path")) {
+ const auto& cachePathValue = document["cache_path"];
+ if (!cachePathValue.IsString()) {
+ mbgl::Log::Warning(
+ mbgl::Event::General, "Invalid cache_path is provided inside the manifest file: %s", filePath.c_str());
+ return mbgl::nullopt;
+ }
+ manifest.cachePath = (getValidPath(manifest.manifestPath, ".") / cachePathValue.GetString()).string();
+ if (manifest.cachePath.empty()) {
+ return mbgl::nullopt;
+ }
+ }
mbgl::filesystem::path baseTestPath;
if (document.HasMember("base_test_path")) {
const auto& testPathValue = document["base_test_path"];
diff --git a/render-test/manifest_parser.hpp b/render-test/manifest_parser.hpp
index cf5644d316..55249896cb 100644
--- a/render-test/manifest_parser.hpp
+++ b/render-test/manifest_parser.hpp
@@ -20,6 +20,7 @@ public:
const std::string& getAssetPath() const;
const std::string& getManifestPath() const;
const std::string& getResultPath() const;
+ const std::string& getCachePath() const;
const std::set<std::string>& getProbes() const;
void doShuffle(uint32_t seed);
@@ -47,6 +48,7 @@ private:
std::string vendorPath;
std::string assetPath;
std::string resultPath;
+ std::string cachePath;
std::vector<std::pair<std::string, std::string>> ignores;
std::vector<TestPaths> testPaths;
std::set<std::string> probes;