summaryrefslogtreecommitdiff
path: root/render-test/parser.hpp
blob: a54af34345be189eb7cd0bf6ba55f0b2af30837e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#pragma once

#include "metadata.hpp"

#include <mbgl/util/rapidjson.hpp>
#include <mbgl/util/variant.hpp>

#include <string>
#include <tuple>
#include <vector>

class Manifest;

using ErrorMessage = std::string;
using JSONReply = mbgl::variant<mbgl::JSDocument, ErrorMessage>;

JSONReply readJson(const mbgl::filesystem::path&);
std::string serializeJsonValue(const mbgl::JSValue&);
std::string serializeMetrics(const TestMetrics&);

std::vector<std::string> readExpectedImageEntries(const mbgl::filesystem::path& base);
std::vector<std::string> readExpectedMetricEntries(const mbgl::filesystem::path& base);
std::vector<std::string> readExpectedJSONEntries(const mbgl::filesystem::path& base);

TestMetrics readExpectedMetrics(const mbgl::filesystem::path& path);

TestMetadata parseTestMetadata(const TestPaths& paths);
TestOperations parseTestOperations(TestMetadata& metadata);

std::string createResultPage(const TestStatistics&, const std::vector<TestMetadata>&, bool shuffle, uint32_t seed);

std::string toJSON(const mbgl::Value& value, unsigned indent, bool singleLine);
std::string toJSON(const std::vector<mbgl::Feature>& features, unsigned indent, bool singleLine);

namespace TestOperationNames {
extern const std::string waitOp;
extern const std::string sleepOp;
extern const std::string addImageOp;
extern const std::string updateImageOp;
extern const std::string removeImageOp;
extern const std::string setStyleOp;
extern const std::string setCenterOp;
extern const std::string setZoomOp;
extern const std::string setBearingOp;
extern const std::string setPitchOp;
extern const std::string setFilterOp;
extern const std::string setLayerZoomRangeOp;
extern const std::string setLightOp;
extern const std::string addLayerOp;
extern const std::string removeLayerOp;
extern const std::string addSourceOp;
extern const std::string removeSourceOp;
extern const std::string setPaintPropertyOp;
extern const std::string setLayoutPropertyOp;
extern const std::string fileSizeProbeOp;
extern const std::string memoryProbeOp;
extern const std::string memoryProbeStartOp;
extern const std::string memoryProbeEndOp;
extern const std::string networkProbeOp;
extern const std::string networkProbeStartOp;
extern const std::string networkProbeEndOp;
extern const std::string setFeatureStateOp;
extern const std::string getFeatureStateOp;
extern const std::string removeFeatureStateOp;
extern const std::string panGestureOp;
extern const std::string gfxProbeOp;
extern const std::string gfxProbeStartOp;
extern const std::string gfxProbeEndOp;
} // namespace TestOperationNames