Test case for Method.invoke()
Jeff Sturm
jsturm@one-point.com
Sat Feb 23 08:30:00 GMT 2002
Here is the test case corresponding to the recent ffi_call patches.
OK?
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/libjava/testsuite/ChangeLog,v
retrieving revision 1.176
diff -u -p -r1.176 ChangeLog
--- ChangeLog 2002/02/20 04:18:53 1.176
+++ ChangeLog 2002/02/23 16:17:57
@@ -1,3 +1,8 @@
+2002-02-23 Jeff Sturm <jsturm@one-point.com>
+
+ * libjava.lang/InvokeReturn.java: New file.
+ * libjava.lang/InvokeReturn.out: New file.
+
2002-02-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* lib/libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
Index: libjava.lang/InvokeReturn.java
===================================================================
RCS file: InvokeReturn.java
diff -N InvokeReturn.java
--- /dev/null Tue May 5 13:32:27 1998
+++ InvokeReturn.java Sat Feb 23 08:17:57 2002
@@ -0,0 +1,76 @@
+import java.lang.reflect.Method;
+
+// Test return values of Method.invoke.
+public class InvokeReturn {
+ public boolean bTrue() {
+ return true;
+ }
+
+ public boolean bFalse() {
+ return false;
+ }
+
+ public char cc() {
+ return 'c';
+ }
+
+ public short s5() {
+ return (short)5;
+ }
+
+ public int i6() {
+ return 6;
+ }
+
+ public long l7() {
+ return (long)7;
+ }
+
+ public float f8() {
+ return (float)8.0;
+ }
+
+ public double d9() {
+ return 9.0;
+ }
+
+ public static void main(String[] args) {
+ try {
+ Object o = new InvokeReturn();
+ Method m;
+
+ // test boolean result
+ m = o.getClass().getDeclaredMethod("bTrue", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ m = o.getClass().getDeclaredMethod("bFalse", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test char result
+ m = o.getClass().getDeclaredMethod("cc", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test short result
+ m = o.getClass().getDeclaredMethod("s5", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test int result
+ m = o.getClass().getDeclaredMethod("i6", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test long result
+ m = o.getClass().getDeclaredMethod("l7", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test float result
+ m = o.getClass().getDeclaredMethod("f8", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test double result
+ m = o.getClass().getDeclaredMethod("d9", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+}
Index: libjava.lang/InvokeReturn.out
===================================================================
RCS file: InvokeReturn.out
diff -N InvokeReturn.out
--- /dev/null Tue May 5 13:32:27 1998
+++ InvokeReturn.out Sat Feb 23 08:17:57 2002
@@ -0,0 +1,8 @@
+true
+false
+c
+5
+6
+7
+8.0
+9.0
More information about the Java-patches
mailing list