#include "ios_test_runner.hpp" #include #include #include #define EXPORT __attribute__((visibility("default"))) EXPORT bool TestRunner::startTest(const std::string& manifest) { auto runTestWithManifest = [](const std::string& manifest) -> bool { std::vector arguments = {"mbgl-render-test-runner", "-p", manifest}; std::vector argv; for (const auto& arg : arguments) { argv.push_back(const_cast(arg.data())); } argv.push_back(nullptr); int finishedTestCount = 0; std::function testStatus = [&]() { mbgl::Log::Info(mbgl::Event::General, "Current finished tests number is '%d' ", ++finishedTestCount); }; mbgl::Log::Info(mbgl::Event::General, "Start running RenderTestRunner with manifest: '%s'", manifest.c_str()); auto result = mbgl::runRenderTests(static_cast(argv.size() - 1), argv.data(), testStatus) == 0; mbgl::Log::Info(mbgl::Event::General, "End running RenderTestRunner with manifest: '%s'", manifest.c_str()); return result; }; auto ret = false; try { ret = runTestWithManifest(manifest); } catch (...) { mbgl::Log::Info(mbgl::Event::General, "testFailed"); } mbgl::Log::Info(mbgl::Event::General, "All tests are finished!"); return ret; }