summaryrefslogtreecommitdiff
path: root/platform/android/src/test/main.jni.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/test/main.jni.cpp')
-rw-r--r--platform/android/src/test/main.jni.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/platform/android/src/test/main.jni.cpp b/platform/android/src/test/main.jni.cpp
new file mode 100644
index 0000000000..aa4d9d07c2
--- /dev/null
+++ b/platform/android/src/test/main.jni.cpp
@@ -0,0 +1,22 @@
+#include <jni/jni.hpp>
+#include <mbgl/test.hpp>
+
+#pragma clang diagnostic ignored "-Wunused-parameter"
+
+void runAllTests(JNIEnv *env, jni::jobject* obj) {
+ std::cout << "Starting tests";
+ mbgl::runTests(0, nullptr);
+}
+
+extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) {
+ std::cout << "Loading tests";
+
+ struct Main { static constexpr auto Name() { return "Main"; } };
+
+ jni::JNIEnv& env = jni::GetEnv(*vm, jni::jni_version_1_6);
+
+ #define MAKE_NATIVE_METHOD(name, sig) jni::MakeNativeMethod<decltype(name), name>( #name, sig )
+ jni::RegisterNatives(env, jni::Class<Main>::Find(env), MAKE_NATIVE_METHOD(runAllTests, "()V"));
+
+ return JNI_VERSION_1_6;
+}