#pragma once #include #include #include #include #include #include "filesystem.hpp" struct TestMetadata; struct TestStatistics; struct TestPaths; using ErrorMessage = std::string; using JSONReply = mbgl::variant; using ArgumentsTuple = std::tuple>; JSONReply readJson(const mbgl::filesystem::path&); std::string serializeJsonValue(const mbgl::JSValue&); std::vector readExpectedEntries(const mbgl::filesystem::path& base); ArgumentsTuple parseArguments(int argc, char** argv); std::vector> parseIgnores(); TestMetadata parseTestMetadata(const TestPaths& paths); std::string createResultPage(const TestStatistics&, const std::vector&, bool shuffle, uint32_t seed); std::string localizeURL(const std::string& url); void localizeSourceURLs(mbgl::JSValue& root, mbgl::JSDocument& document); void localizeStyleURLs(mbgl::JSValue& root, mbgl::JSDocument& document);