Index: build/make/targets/cunit.test.xml =================================================================== --- build/make/targets/cunit.test.xml (revision 579560) +++ build/make/targets/cunit.test.xml (working copy) @@ -172,6 +172,7 @@ + Index: vm/tests/unit/thread/utils/thread_util_platform_dependent.c =================================================================== --- vm/tests/unit/thread/utils/thread_util_platform_dependent.c (revision 0) +++ vm/tests/unit/thread/utils/thread_util_platform_dependent.c (revision 0) @@ -0,0 +1,33 @@ +#include +#include "thread_unit_test_utils.h" + +#ifdef _WIN32 +#include + +create_java_vm_func test_get_java_vm_ptr(void) +{ + HANDLE lib; + FARPROC func; + + lib = LoadLibrary("harmonyvm.dll"); + assert(lib); + func = GetProcAddress(lib, "JNI_CreateJavaVM"); + assert(func); + + return (create_java_vm_func)func; +} +#else +#include + +create_java_vm_func test_get_java_vm_ptr(void) +{ + void *lib, *func; + + lib = dlopen("libharmonyvm.so", RTLD_NOW); + assert(lib); + func = dlsym(lib, "JNI_CreateJavaVM"); + assert(func); + + return (create_java_vm_func)func; +} +#endif Property changes on: vm/tests/unit/thread/utils/thread_util_platform_dependent.c ___________________________________________________________________ Name: svn:eol-style + native Index: vm/tests/unit/thread/utils/thread_unit_test_utils.c =================================================================== --- vm/tests/unit/thread/utils/thread_unit_test_utils.c (revision 579560) +++ vm/tests/unit/thread/utils/thread_unit_test_utils.c (working copy) @@ -81,10 +81,14 @@ } void test_java_thread_setup(int argc, char *argv[]) { + create_java_vm_func CreateJavaVM; JavaVMInitArgs args; JNIEnv * jni_env; int i; + CreateJavaVM = test_get_java_vm_ptr(); + assert(CreateJavaVM); + args.version = JNI_VERSION_1_2; args.nOptions = argc; args.options = (JavaVMOption *) malloc(args.nOptions * sizeof(JavaVMOption)); @@ -97,7 +101,7 @@ log_debug("test_java_thread_init()"); hythread_sleep(1000); - JNI_CreateJavaVM(&GLOBAL_VM, &jni_env, &args); + CreateJavaVM(&GLOBAL_VM, &jni_env, &args); } void test_java_thread_teardown(void) { Index: vm/tests/unit/thread/utils/thread_unit_test_utils.h =================================================================== --- vm/tests/unit/thread/utils/thread_unit_test_utils.h (revision 579560) +++ vm/tests/unit/thread/utils/thread_unit_test_utils.h (working copy) @@ -123,3 +123,7 @@ jobject new_jobject_thread_death(JNIEnv * jni_env); jthread new_jobject(); void delete_jobject(jobject obj); + +typedef jint (JNICALL *create_java_vm_func)(JavaVM **vm, JNIEnv **env, + JavaVMInitArgs *args); +create_java_vm_func test_get_java_vm_ptr(void);