diff options
author | zmiao <miao.zhao@mapbox.com> | 2019-10-22 16:32:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-22 16:32:21 +0300 |
commit | 068befa9df1c55904ec7e26bee062e5e33aecbce (patch) | |
tree | b805b79750e0986fb2821fed1c0bd1c5d8cc5b18 /platform/android/src/test/render_test_runner.cpp | |
parent | 2cdc09dbb13964ffd2af1e8776a56c70f80e0360 (diff) | |
download | qtlocation-mapboxgl-068befa9df1c55904ec7e26bee062e5e33aecbce.tar.gz |
[test-runner] Run render test runner as a NativeActivity app on android device (#15827)
* [test-runner]Add android render-test-runner NativeActivity app
* [test-runner] Fix cmake for CI build failure
* [test-runner] Update folder location, change app configureation
* [test-runner] Add running instruction
Diffstat (limited to 'platform/android/src/test/render_test_runner.cpp')
-rw-r--r-- | platform/android/src/test/render_test_runner.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/platform/android/src/test/render_test_runner.cpp b/platform/android/src/test/render_test_runner.cpp new file mode 100644 index 0000000000..3f85140128 --- /dev/null +++ b/platform/android/src/test/render_test_runner.cpp @@ -0,0 +1,57 @@ +#include <android_native_app_glue.h> +#include <mbgl/render_test.hpp> +#include "jni.hpp" +#include "logger.hpp" + +#include <string> +#include <vector> + +#include <mbgl/util/logging.hpp> + +#include <android/log.h> + +namespace mbgl { + +namespace { + +int severityToPriority(EventSeverity severity) { + switch (severity) { + case EventSeverity::Debug: + return ANDROID_LOG_DEBUG; + + case EventSeverity::Info: + return ANDROID_LOG_INFO; + + case EventSeverity::Warning: + return ANDROID_LOG_WARN; + + case EventSeverity::Error: + return ANDROID_LOG_ERROR; + + default: + return ANDROID_LOG_VERBOSE; + } +} + +} // namespace + +void Log::platformRecord(EventSeverity severity, const std::string& msg) { + __android_log_print(severityToPriority(severity), "mbgl", "%s", msg.c_str()); +} + +} // namespace mbgl + +void android_main(struct android_app* app) { + mbgl::android::theJVM = app->activity->vm; + JNIEnv* env; + app->activity->vm->AttachCurrentThread(&env, NULL); + + std::vector<std::string> arguments = {"mbgl-render-test-runner", "-p", "/sdcard/render-test"}; + std::vector<char*> argv; + for (const auto& arg : arguments) { + argv.push_back((char*)arg.data()); + } + argv.push_back(nullptr); + (void)mbgl::runRenderTests(argv.size() - 1, argv.data()); + app->activity->vm->DetachCurrentThread(); +}
\ No newline at end of file |