1*993b0882SAndroid Build Coastguard Worker #include <jni.h> 2*993b0882SAndroid Build Coastguard Worker 3*993b0882SAndroid Build Coastguard Worker #include "utils/testing/logging_event_listener.h" 4*993b0882SAndroid Build Coastguard Worker #include "gtest/gtest.h" 5*993b0882SAndroid Build Coastguard Worker 6*993b0882SAndroid Build Coastguard Worker JNIEnv* g_jenv = nullptr; 7*993b0882SAndroid Build Coastguard Worker jobject g_context = nullptr; 8*993b0882SAndroid Build Coastguard Worker 9*993b0882SAndroid Build Coastguard Worker // This method is called from Java to trigger running of all the tests. 10*993b0882SAndroid Build Coastguard Worker extern "C" JNIEXPORT jboolean JNICALL Java_com_google_android_textclassifier_tests_JvmTestLauncher_testsMain(JNIEnv * env,jclass clazz,jobject context)11*993b0882SAndroid Build Coastguard WorkerJava_com_google_android_textclassifier_tests_JvmTestLauncher_testsMain( 12*993b0882SAndroid Build Coastguard Worker JNIEnv* env, jclass clazz, jobject context) { 13*993b0882SAndroid Build Coastguard Worker g_jenv = env; 14*993b0882SAndroid Build Coastguard Worker g_context = context; 15*993b0882SAndroid Build Coastguard Worker 16*993b0882SAndroid Build Coastguard Worker char arg[] = "jvm_test_launcher"; 17*993b0882SAndroid Build Coastguard Worker std::vector<char*> argv = {arg}; 18*993b0882SAndroid Build Coastguard Worker int argc = 1; 19*993b0882SAndroid Build Coastguard Worker testing::InitGoogleTest(&argc, argv.data()); 20*993b0882SAndroid Build Coastguard Worker testing::UnitTest::GetInstance()->listeners().Append( 21*993b0882SAndroid Build Coastguard Worker new libtextclassifier3::LoggingEventListener()); 22*993b0882SAndroid Build Coastguard Worker return RUN_ALL_TESTS() == 0; 23*993b0882SAndroid Build Coastguard Worker }