PatchSet 6727 
Date: 2005/07/13 20:16:12
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Added some new tests for JNI weak ref.

        * test/jni/JNIWeakTest.java: New tests.

        * test/jni/jniweaklib.c: Added support functions for the new tests.

Members: 
        ChangeLog:1.4251->1.4252 
        test/jni/JNIWeakTest.java:1.1->1.2 
        test/jni/jniweaklib.c:1.1->1.2 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4251 kaffe/ChangeLog:1.4252
--- kaffe/ChangeLog:1.4251      Wed Jul 13 13:31:07 2005
+++ kaffe/ChangeLog     Wed Jul 13 20:16:12 2005
@@ -1,5 +1,11 @@
 2004-07-13  Guilhem Lavaux  <[EMAIL PROTECTED]>
 
+       * test/jni/JNIWeakTest.java: New tests.
+
+       * test/jni/jniweaklib.c: Added support functions for the new tests.
+
+2004-07-13  Guilhem Lavaux  <[EMAIL PROTECTED]>
+
        * TODO: Added some TODO entries.
 
        * kaffe/kaffe/main.c
Index: kaffe/test/jni/JNIWeakTest.java
diff -u kaffe/test/jni/JNIWeakTest.java:1.1 kaffe/test/jni/JNIWeakTest.java:1.2
--- kaffe/test/jni/JNIWeakTest.java:1.1 Tue Jul 12 23:50:52 2005
+++ kaffe/test/jni/JNIWeakTest.java     Wed Jul 13 20:16:16 2005
@@ -1,3 +1,13 @@
+/*
+ * JNIWeakTest.java -- Test the handling of JNI weak reference.
+ *
+ * Copyright (C) 2005
+ *    The Kaffe.org's developers. See ChangeLog for details.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
 public class JNIWeakTest
 {
        static {
@@ -7,6 +17,23 @@
 
        native Object testWeak();
 
+       static void testArgWeak(Object a, Object b)
+       {
+               if (a == b)
+                       System.out.println("Args OK !");
+               else
+                       System.out.println("Args FAIL !");
+       }
+
+       void testInvoke()
+       {
+               System.out.println("Invoke OK !");
+       }
+
+       static native void passWeakArg(Object a);
+
+       static native void invokeWeak(Object a);
+
        static public void main(String args[])
        {
                JNIWeakTest o = new JNIWeakTest();
@@ -15,9 +42,13 @@
                o2 = o.testWeak();
 
                if (o2 == o)
-                       System.out.println("OK !");
+                       System.out.println("Return OK !");
                else
-                       System.out.println("FAIL !");
+                       System.out.println("Return FAIL !");
+
+               passWeakArg(new Object());
+
+               invokeWeak(o);
        }
 }
 
Index: kaffe/test/jni/jniweaklib.c
diff -u kaffe/test/jni/jniweaklib.c:1.1 kaffe/test/jni/jniweaklib.c:1.2
--- kaffe/test/jni/jniweaklib.c:1.1     Tue Jul 12 23:50:52 2005
+++ kaffe/test/jni/jniweaklib.c Wed Jul 13 20:16:16 2005
@@ -1,3 +1,13 @@
+/*
+ * jniweaklib.c -- Test the handling of JNI weak reference.
+ *
+ * Copyright (C) 2005
+ *    The Kaffe.org's developers. See ChangeLog for details.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
 #include <jni.h>
 
 JNIEXPORT jobject JNICALL
@@ -5,3 +15,26 @@
 {
        return (*env)->NewWeakGlobalRef(env, obj);
 }      
+
+JNIEXPORT void JNICALL 
+Java_JNIWeakTest_passWeakArg(JNIEnv *env, jclass clazz,
+                            jobject o)
+{
+  jmethodID weak_fun = (*env)->GetStaticMethodID(env, clazz, "testArgWeak",
+                                                
"(Ljava/lang/Object;Ljava/lang/Object;)V");
+  jweak wo = (*env)->NewWeakGlobalRef(env, o);
+
+  (*env)->CallStaticVoidMethod(env, clazz, weak_fun, wo, o);
+  
+}
+
+JNIEXPORT void JNICALL 
+Java_JNIWeakTest_invokeWeak(JNIEnv *env, jclass clazz,
+                           jobject o)
+{
+  jmethodID weak_fun = (*env)->GetMethodID(env, clazz, "testInvoke",
+                                          "()V");
+  jweak wo = (*env)->NewWeakGlobalRef(env, o);
+
+  (*env)->CallVoidMethod(env, wo, weak_fun);
+}

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to