This is the mail archive of the java-patches@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch: JNI tests


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]