Author: mturk
Date: Fri Apr 17 08:10:41 2009
New Revision: 765896
URL: http://svn.apache.org/viewvc?rev=765896&view=rev
Log:
Test native Pointer class management
Modified:
commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
Modified: commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/test/testcase.c?rev=765896&r1=765895&r2=765896&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/test/testcase.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/test/testcase.c Fri Apr 17
08:10:41 2009
@@ -222,3 +222,15 @@
return ACR_PointerCreate(_E, (void *)d, callback);
}
+
+ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test018)(ACR_JNISTDARGS, jobject p)
+{
+
+ return ACR_PointerCleanup(_E, p);
+}
+
+ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test019)(ACR_JNISTDARGS, jobject p)
+{
+ void *v = ACR_PointerGet(_E, p);
+ return v != NULL;
+}
Modified:
commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java?rev=765896&r1=765895&r2=765896&view=diff
==============================================================================
---
commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
(original)
+++
commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
Fri Apr 17 08:10:41 2009
@@ -58,6 +58,8 @@
private static native String[] test015(int d);
private static native int test016(int d);
private static native Pointer test017(int d);
+ private static native int test018(Pointer p);
+ private static native int test019(Pointer p);
protected void setUp()
@@ -256,4 +258,42 @@
Thread.sleep(200);
}
+ public void testPointerNativeClr()
+ throws Throwable
+ {
+ Pointer p = test017(0xcafebabe);
+ assertNotNull("Pointer",p);
+ int r = test018(p);
+ assertEquals("Result ", 0, r);
+ int c = test018(p);
+ // 70008 is ACR_INCLOMPLETE */
+ assertEquals("Result ", 70008, c);
+
+ p.free();
+ p = null;
+ System.gc();
+ // This should be enough for a gc
+ // from Pointer.finalize()
+ Thread.sleep(200);
+ }
+
+ public void testPointerNativePtrGet()
+ throws Throwable
+ {
+ Pointer p = test017(0xcafebabe);
+ assertNotNull("Pointer",p);
+ int r = test019(p);
+ assertEquals("Result ", 1, r);
+ p.free();
+ int c = test019(p);
+ // Second call must return NULL
+ assertEquals("Result ", 0, c);
+
+ p = null;
+ System.gc();
+ // This should be enough for a gc
+ // from Pointer.finalize()
+ Thread.sleep(200);
+ }
+
}