summaryrefslogtreecommitdiff
path: root/render-test/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'render-test/parser.cpp')
-rw-r--r--render-test/parser.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/render-test/parser.cpp b/render-test/parser.cpp
index f4e54493eb..41c9b83298 100644
--- a/render-test/parser.cpp
+++ b/render-test/parser.cpp
@@ -304,6 +304,21 @@ std::string serializeMetrics(const TestMetrics& metrics) {
writer.EndArray();
}
+ // Start network section
+ if (!metrics.network.empty()) {
+ writer.Key("network");
+ writer.StartArray();
+ for (const auto& networkProbe : metrics.network) {
+ assert(!networkProbe.first.empty());
+ writer.StartArray();
+ writer.String(networkProbe.first.c_str());
+ writer.Uint64(networkProbe.second.requests);
+ writer.Uint64(networkProbe.second.transferred);
+ writer.EndArray();
+ }
+ writer.EndArray();
+ }
+
writer.EndObject();
return s.GetString();
@@ -500,6 +515,25 @@ TestMetrics readExpectedMetrics(const mbgl::filesystem::path& path) {
}
}
+ if (document.HasMember("network")) {
+ const mbgl::JSValue& networkValue = document["network"];
+ assert(networkValue.IsArray());
+ for (auto& probeValue : networkValue.GetArray()) {
+ assert(probeValue.IsArray());
+ assert(probeValue.Size() >= 3u);
+ assert(probeValue[0].IsString());
+ assert(probeValue[1].IsNumber());
+ assert(probeValue[2].IsNumber());
+
+ std::string mark{probeValue[0].GetString(), probeValue[0].GetStringLength()};
+ assert(!mark.empty());
+
+ result.network.emplace(std::piecewise_construct,
+ std::forward_as_tuple(std::move(mark)),
+ std::forward_as_tuple(probeValue[1].GetUint64(), probeValue[2].GetUint64()));
+ }
+ }
+
return result;
}