This is the mail archive of the
java-patches@sourceware.cygnus.com
mailing list for the Java project.
Patch: JNI tests
- To: Java Patch List <java-patches at sourceware dot cygnus dot com>
- Subject: Patch: JNI tests
- From: Tom Tromey <tromey at cygnus dot com>
- Date: 15 Feb 2000 17:21:08 -0700
- Reply-To: tromey at cygnus dot com
I'm checking in the appended patch, which some JNI tests.
All these currently pass.
I haven't yet written the JNI test harness.
2000-02-15 Tom Tromey <tromey@cygnus.com>
* libjava.jni/virtual.java: New file.
* libjava.jni/virtual.c: New file.
* libjava.jni/virtual.out: New file.
* libjava.jni/final_method.java: New file.
* libjava.jni/final_method.c: New file.
* libjava.jni/final_method.out: New file.
* libjava.jni/overload.java: New file.
* libjava.jni/overload.c: New file.
* libjava.jni/overload.out: New file.
* libjava.jni/simple_int.java: New file.
* libjava.jni/simple_int.c: New file.
* libjava.jni/simple_int.out: New file.
* libjava.jni/invoke.out: New file.
* libjava.jni/invoke.c: New file.
* libjava.jni/invoke.java: New file.
Tom
Index: libjava.jni/final_method.c
===================================================================
RCS file: final_method.c
diff -N final_method.c
--- /dev/null Tue May 5 13:32:27 1998
+++ final_method.c Tue Feb 15 16:18:14 2000
@@ -0,0 +1,7 @@
+#include <final_method.h>
+
+jstring
+Java_final_1method_meth (JNIEnv *env, jobject thisv)
+{
+ return (*env)->NewStringUTF (env, "zardoz has spoken");
+}
Index: libjava.jni/final_method.java
===================================================================
RCS file: final_method.java
diff -N final_method.java
--- /dev/null Tue May 5 13:32:27 1998
+++ final_method.java Tue Feb 15 16:18:14 2000
@@ -0,0 +1,17 @@
+// Minimal test a non-static final method.
+
+public class final_method
+{
+ static
+ {
+ System.loadLibrary ("final_method");
+ }
+
+ public final native String meth ();
+
+ public static void main (String[] args)
+ {
+ final_method fm = new final_method ();
+ System.out.println (fm.meth ());
+ }
+}
Index: libjava.jni/final_method.out
===================================================================
RCS file: final_method.out
diff -N final_method.out
--- /dev/null Tue May 5 13:32:27 1998
+++ final_method.out Tue Feb 15 16:18:14 2000
@@ -0,0 +1 @@
+zardoz has spoken
Index: libjava.jni/invoke.c
===================================================================
RCS file: invoke.c
diff -N invoke.c
--- /dev/null Tue May 5 13:32:27 1998
+++ invoke.c Tue Feb 15 16:18:14 2000
@@ -0,0 +1,7 @@
+#include <invoke.h>
+
+jint
+Java_invoke_val (JNIEnv *env, jclass klass)
+{
+ return 23;
+}
Index: libjava.jni/invoke.java
===================================================================
RCS file: invoke.java
diff -N invoke.java
--- /dev/null Tue May 5 13:32:27 1998
+++ invoke.java Tue Feb 15 16:18:14 2000
@@ -0,0 +1,18 @@
+// Test to make sure the minimal invocation works.
+
+public class invoke
+{
+ public static native int val ();
+
+ static
+ {
+ System.out.println ("trying...");
+ System.loadLibrary ("invoke");
+ System.out.println ("loaded");
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (val ());
+ }
+}
Index: libjava.jni/invoke.out
===================================================================
RCS file: invoke.out
diff -N invoke.out
--- /dev/null Tue May 5 13:32:27 1998
+++ invoke.out Tue Feb 15 16:18:14 2000
@@ -0,0 +1,3 @@
+trying...
+loaded
+23
Index: libjava.jni/overload.c
===================================================================
RCS file: overload.c
diff -N overload.c
--- /dev/null Tue May 5 13:32:27 1998
+++ overload.c Tue Feb 15 16:18:14 2000
@@ -0,0 +1,16 @@
+#include <overload.h>
+
+jint
+Java_overload_over__I (JNIEnv *env, jclass klass, jint val)
+{
+ return val;
+}
+
+
+jint
+Java_overload_over__II (JNIEnv *env, jclass klass, jint one, jint two)
+{
+ return one + two;
+}
+
+
Index: libjava.jni/overload.java
===================================================================
RCS file: overload.java
diff -N overload.java
--- /dev/null Tue May 5 13:32:27 1998
+++ overload.java Tue Feb 15 16:18:14 2000
@@ -0,0 +1,18 @@
+// Test to make sure overloaded functions with long names work.
+
+public class overload
+{
+ static
+ {
+ System.loadLibrary ("overload");
+ }
+
+ public static native int over (int one);
+ public static native int over (int one, int two);
+
+ public static void main (String[] args)
+ {
+ System.out.println (over (1));
+ System.out.println (over (1, 2));
+ }
+}
Index: libjava.jni/overload.out
===================================================================
RCS file: overload.out
diff -N overload.out
--- /dev/null Tue May 5 13:32:27 1998
+++ overload.out Tue Feb 15 16:18:14 2000
@@ -0,0 +1,2 @@
+1
+3
Index: libjava.jni/simple_int.c
===================================================================
RCS file: simple_int.c
diff -N simple_int.c
--- /dev/null Tue May 5 13:32:27 1998
+++ simple_int.c Tue Feb 15 16:18:14 2000
@@ -0,0 +1,7 @@
+#include <simple_int.h>
+
+jint
+Java_simple_1int_nat (JNIEnv *env, jclass klass, jint val)
+{
+ return 2 * val;
+}
Index: libjava.jni/simple_int.java
===================================================================
RCS file: simple_int.java
diff -N simple_int.java
--- /dev/null Tue May 5 13:32:27 1998
+++ simple_int.java Tue Feb 15 16:18:14 2000
@@ -0,0 +1,16 @@
+// Test a simple static function with an `int' argument.
+
+public class simple_int
+{
+ public static native int nat (int z);
+
+ static
+ {
+ System.loadLibrary ("simple_int");
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (nat (23));
+ }
+}
Index: libjava.jni/simple_int.out
===================================================================
RCS file: simple_int.out
diff -N simple_int.out
--- /dev/null Tue May 5 13:32:27 1998
+++ simple_int.out Tue Feb 15 16:18:14 2000
@@ -0,0 +1 @@
+46
Index: libjava.jni/virtual.c
===================================================================
RCS file: virtual.c
diff -N virtual.c
--- /dev/null Tue May 5 13:32:27 1998
+++ virtual.c Tue Feb 15 16:18:14 2000
@@ -0,0 +1,7 @@
+#include <virtual.h>
+
+jboolean
+Java_virtual_equals (JNIEnv *env, jobject thisv, jobject other)
+{
+ return JNI_FALSE;
+}
Index: libjava.jni/virtual.java
===================================================================
RCS file: virtual.java
diff -N virtual.java
--- /dev/null Tue May 5 13:32:27 1998
+++ virtual.java Tue Feb 15 16:18:14 2000
@@ -0,0 +1,17 @@
+// Minimal test of a virtual method.
+
+public class virtual
+{
+ static
+ {
+ System.loadLibrary ("virtual");
+ }
+
+ public native boolean equals (Object obj);
+
+ public static void main (String[] args)
+ {
+ Object v = new virtual ();
+ System.out.println (v.equals (v));
+ }
+}
Index: libjava.jni/virtual.out
===================================================================
RCS file: virtual.out
diff -N virtual.out
--- /dev/null Tue May 5 13:32:27 1998
+++ virtual.out Tue Feb 15 16:18:14 2000
@@ -0,0 +1 @@
+false