diff options
author | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-12 14:05:22 +0200 |
---|---|---|
committer | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-18 16:10:23 +0200 |
commit | cea87c9f2d0eb66e3a918d1b84e316b27462dd07 (patch) | |
tree | 389fff07f377377e34887f6a46f370ff55a445c1 /benchmark/ios/ios_test_runner.cpp | |
parent | a5ec862a2a241885918d4d843bbc93c3804a57e6 (diff) | |
download | qtlocation-mapboxgl-cea87c9f2d0eb66e3a918d1b84e316b27462dd07.tar.gz |
[benchmark] Add iOS benchmark runner
Diffstat (limited to 'benchmark/ios/ios_test_runner.cpp')
-rw-r--r-- | benchmark/ios/ios_test_runner.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/benchmark/ios/ios_test_runner.cpp b/benchmark/ios/ios_test_runner.cpp new file mode 100644 index 0000000000..25bd3add5d --- /dev/null +++ b/benchmark/ios/ios_test_runner.cpp @@ -0,0 +1,34 @@ +#include <ios_test_runner.hpp> + +#include <mbgl/benchmark.hpp> + +#include <mbgl/util/logging.hpp> + +#include <unistd.h> +#include <vector> + +#define EXPORT __attribute__((visibility("default"))) + +EXPORT +bool TestRunner::startTest(const std::string& basePath) { + std::vector<std::string> arguments = {"mbgl-benchmark-runner", + "--benchmark_repetitions=3", + "--benchmark_format=json", + "--benchmark_out=" + basePath + "/benchmark/results.json"}; + std::vector<char*> argv; + for (const auto& arg : arguments) { + argv.push_back(const_cast<char*>(arg.data())); + } + argv.push_back(nullptr); + + if (chdir(basePath.c_str())) { + mbgl::Log::Error(mbgl::Event::General, "Failed to change the directory to " + basePath); + return false; + } + + mbgl::Log::Info(mbgl::Event::General, "Start BenchmarkRunner"); + int status = mbgl::runBenchmark(static_cast<uint32_t>(argv.size()), argv.data()); + mbgl::Log::Info(mbgl::Event::General, "BenchmarkRunner finished with status: '%d'", status); + + return status == 0; +} |