[build] Make test/util.hpp a public interface

We will build the tests as a library and platforms will
provide the test runner.
This commit is contained in:
Thiago Marcos P. Santos
2019-07-23 17:39:56 +03:00
parent d424850257
commit 79670593de
2 changed files with 3 additions and 3 deletions

View File

@@ -0,0 +1,78 @@
#pragma once
#ifdef __APPLE__
#include <TargetConditionals.h>
#endif
#if ANDROID
#define TEST_READ_ONLY 0
#undef TEST_HAS_SERVER
#define TEST_HAS_SERVER 0
#elif TARGET_OS_IOS
#define TEST_READ_ONLY 1
#undef TEST_HAS_SERVER
#define TEST_HAS_SERVER 0
#else
#define TEST_READ_ONLY 0
#ifndef TEST_HAS_SERVER
#define TEST_HAS_SERVER 1
#endif
#endif
#if TARGET_OS_SIMULATOR
#define TEST_IS_SIMULATOR 1
#else
#define TEST_IS_SIMULATOR 0
#endif
#if !TEST_IS_SIMULATOR && !CI_BUILD
#define TEST_REQUIRES_ACCURATE_TIMING(name) name
#else
#define TEST_REQUIRES_ACCURATE_TIMING(name) DISABLED_ ## name
#endif
#if !TEST_READ_ONLY
#define TEST_REQUIRES_WRITE(name) name
#else
#define TEST_REQUIRES_WRITE(name) DISABLED_ ## name
#endif
#if TEST_HAS_SERVER
#define TEST_REQUIRES_SERVER(name) name
#else
#define TEST_REQUIRES_SERVER(name) DISABLED_ ## name
#endif
#if !CI_BUILD
#define TEST_DISABLED_ON_CI(name) name
#else
#define TEST_DISABLED_ON_CI(name) DISABLED_ ## name
#endif
#include <mbgl/util/image.hpp>
#include <mbgl/util/chrono.hpp>
#include <cstdint>
#include <memory>
#include <gtest/gtest.h>
namespace mbgl {
namespace test {
class Server {
public:
Server(const char* script);
~Server();
private:
int fd = -1;
};
void checkImage(const std::string& base,
const PremultipliedImage& actual,
double imageThreshold = 0,
double pixelThreshold = 0);
} // namespace test
} // namespace mbgl