blob: 4f80286c0bc6b0797eb27af9b7e47efdccc4aee7 (
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
|
#pragma once
#include <mbgl/gfx/headless_frontend.hpp>
#include <mbgl/map/map.hpp>
#include "manifest_parser.hpp"
#include <memory>
#include <string>
struct RunContext;
class TestRunnerMapObserver;
struct TestMetadata;
class TestRunner {
public:
explicit TestRunner(Manifest);
bool run(TestMetadata&);
void reset();
// Manifest
const Manifest& getManifest() const;
void doShuffle(uint32_t seed);
private:
bool runOperations(const std::string& key, TestMetadata&, RunContext&);
bool checkQueryTestResults(mbgl::PremultipliedImage&& actualImage,
std::vector<mbgl::Feature>&& features,
TestMetadata&);
bool checkRenderTestResults(mbgl::PremultipliedImage&& image, TestMetadata&);
struct Impl {
Impl(const TestMetadata&);
~Impl();
std::unique_ptr<TestRunnerMapObserver> observer;
mbgl::HeadlessFrontend frontend;
mbgl::Map map;
};
std::unordered_map<std::string, std::unique_ptr<Impl>> maps;
Manifest manifest;
};
|