diff options
Diffstat (limited to 'libjava/testsuite/libjava.jni')
-rw-r--r-- | libjava/testsuite/libjava.jni/noclass.c | 9 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/noclass.java | 18 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/noclass.out | 1 |
3 files changed, 28 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.jni/noclass.c b/libjava/testsuite/libjava.jni/noclass.c new file mode 100644 index 0000000..5f2caf4 --- /dev/null +++ b/libjava/testsuite/libjava.jni/noclass.c @@ -0,0 +1,9 @@ +#include <noclass.h> + +void +Java_noclass_find_1it (JNIEnv *env, jclass k) +{ + /* We cause an exception by asking for a class we know does not + exist. */ + k = (*env)->FindClass (env, "java/lang/Sarcophagus"); +} diff --git a/libjava/testsuite/libjava.jni/noclass.java b/libjava/testsuite/libjava.jni/noclass.java new file mode 100644 index 0000000..cfa1178 --- /dev/null +++ b/libjava/testsuite/libjava.jni/noclass.java @@ -0,0 +1,18 @@ +// Test to make sure JNI implementation catches exceptions. + +public class noclass +{ + static + { + System.loadLibrary ("noclass"); + } + + public static native void find_it (); + + public static void main (String[] args) + { + find_it (); + // If find_it() causes a crash, we won't be running this next line. + System.out.println ("Ok"); + } +} diff --git a/libjava/testsuite/libjava.jni/noclass.out b/libjava/testsuite/libjava.jni/noclass.out new file mode 100644 index 0000000..7326d96 --- /dev/null +++ b/libjava/testsuite/libjava.jni/noclass.out @@ -0,0 +1 @@ +Ok |