diff options
-rw-r--r-- | content/content_tests.gypi | 3 | ||||
-rw-r--r-- | net/net.gyp | 5 | ||||
-rw-r--r-- | testing/android/native_test_launcher.cc | 25 |
3 files changed, 28 insertions, 5 deletions
diff --git a/content/content_tests.gypi b/content/content_tests.gypi index 5bedd31..5e35483 100644 --- a/content/content_tests.gypi +++ b/content/content_tests.gypi @@ -505,6 +505,9 @@ 'dependencies': [ '../testing/android/native_test.gyp:native_test_native_code', ], + 'defines': [ + 'REGISTER_CONTENT_UNITESTS_JNI', + ], }], ], }, diff --git a/net/net.gyp b/net/net.gyp index 961a51b..b35843a 100644 --- a/net/net.gyp +++ b/net/net.gyp @@ -1370,7 +1370,10 @@ ['OS == "android" and gtest_target_type == "shared_library"', { 'dependencies': [ '../testing/android/native_test.gyp:native_test_native_code', - ] + ], + 'defines': [ + 'REGISTER_NET_UNITESTS_JNI', + ], }], [ 'OS != "win" and OS != "mac"', { 'sources!': [ diff --git a/testing/android/native_test_launcher.cc b/testing/android/native_test_launcher.cc index b88cb30..dad604b 100644 --- a/testing/android/native_test_launcher.cc +++ b/testing/android/native_test_launcher.cc @@ -13,10 +13,9 @@ #include <signal.h> #include <stdio.h> +#include "base/android/base_jni_registrar.h" #include "base/android/jni_android.h" #include "base/android/jni_string.h" -#include "base/android/locale_utils.h" -#include "base/android/path_utils.h" #include "base/android/scoped_java_ref.h" #include "base/at_exit.h" #include "base/command_line.h" @@ -29,6 +28,14 @@ #include "gtest/gtest.h" #include "testing/android/jni/chrome_native_test_activity_jni.h" +#if defined(REGISTER_NET_UNITTESTS_JNI) +#include "net/android/net_jni_registrar.h" +#endif + +#if defined(REGISTER_CONTENT_UNITTESTS_JNI) +#include "content/app/android/content_jni_registrar.h" +#endif + // The main function of the program to be wrapped as a test apk. extern int main(int argc, char** argv); @@ -176,8 +183,18 @@ static void RunTests(JNIEnv* env, env, env->NewLocalRef(app_context)); base::android::InitApplicationContext(scoped_context); - base::android::RegisterLocaleUtils(env); - base::android::RegisterPathUtils(env); + base::android::RegisterJni(env); + + // A unittest target may define these macros to register JNI dependencies. + // These should only be defined if the target also depends on the + // corresponding registrar. +#if defined(REGISTER_NET_UNITTESTS_JNI) + net::android::RegisterJni(env); +#endif + +#if defined(REGISTER_CONTENT_UNITTESTS_JNI) + content::android::RegisterJni(env); +#endif FilePath files_dir(base::android::ConvertJavaStringToUTF8(env, jfiles_dir)); // A few options, such "--gtest_list_tests", will just use printf directly |