diff options
author | zmiao <miao.zhao@mapbox.com> | 2019-12-02 13:29:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-02 13:29:13 +0200 |
commit | b2693f9d539a1f54419cd948cbc5b5f8e2155df7 (patch) | |
tree | d94d893106c3bfbf14f4af8137c4e5dc2f94ad63 /platform/android | |
parent | 0c348a8acfcbb86c43b0d1764388a0d247b84404 (diff) | |
download | qtlocation-mapboxgl-b2693f9d539a1f54419cd948cbc5b5f8e2155df7.tar.gz |
[test-runner] Add android RenderTestRunner baseline metrics (#15979)
* [test-runner] Enable probe-testing android render test runner
* [test-runner] Add pixel4 baseline metrics
* Add git ignored metrics
* Make renderTestrunner run two times with different manifest config
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/src/test/render_test_runner.cpp | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/platform/android/src/test/render_test_runner.cpp b/platform/android/src/test/render_test_runner.cpp index 98197ce1cc..0d2400ac74 100644 --- a/platform/android/src/test/render_test_runner.cpp +++ b/platform/android/src/test/render_test_runner.cpp @@ -252,26 +252,34 @@ void android_main(struct android_app* app) { } else { unZipFile(env, zipFile, storagePath); - std::string configFile = storagePath + "/android-manifest.json"; - std::vector<std::string> arguments = {"mbgl-render-test-runner", "-p", configFile}; - std::vector<char*> argv; - for (const auto& arg : arguments) { - argv.push_back((char*)arg.data()); - } - argv.push_back(nullptr); + auto runTestWithManifest = [&storagePath, &app, &outFd, &outEvents, &source]( + const std::string manifest, const std::string filter = {}) -> bool { + const std::string configFile = storagePath + manifest; + std::vector<std::string> arguments = {"mbgl-render-test-runner", "-p", configFile, filter}; + std::vector<char*> argv; + for (const auto& arg : arguments) { + argv.push_back(const_cast<char*>(arg.data())); + } + argv.push_back(nullptr); - int finishedTestCount = 0; - std::function<void()> testStatus = [&]() { - ALooper_pollAll(0, &outFd, &outEvents, reinterpret_cast<void**>(&source)); + int finishedTestCount = 0; + std::function<void()> testStatus = [&]() { + ALooper_pollAll(0, &outFd, &outEvents, reinterpret_cast<void**>(&source)); - if (source != nullptr) { - source->process(app, source); - } + if (source != nullptr) { + source->process(app, source); + } - mbgl::Log::Info(mbgl::Event::General, "Current finished tests number is '%d' ", ++finishedTestCount); + 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()); + bool result = mbgl::runRenderTests(argv.size() - 1, argv.data(), testStatus) == 0; + mbgl::Log::Info(mbgl::Event::General, "End running RenderTestRunner with manifest: '%s'", manifest.c_str()); + return result; }; - - mbgl::runRenderTests(argv.size() - 1, argv.data(), testStatus); + runTestWithManifest("/android-manifest-probe-network-gfx.json"); + runTestWithManifest("/android-manifest-probe-memory.json", "--filter=real-world"); mbgl::Log::Info(mbgl::Event::General, "All tests are finished!"); changeState(env, app); } |