diff options
author | Ian Rogers <irogers@google.com> | 2011-06-29 17:07:54 -0700 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2013-11-05 17:09:44 -0800 |
commit | a515759d83bac3e3b6bfdea20eb9576621e6596a (patch) | |
tree | d68b694fbfb9eebb69c57c4465163532402ee656 /luni/src/test/native | |
parent | 369c46ce938ac502b2d005cdc8464cd19d771de3 (diff) | |
download | libcore-a515759d83bac3e3b6bfdea20eb9576621e6596a.zip libcore-a515759d83bac3e3b6bfdea20eb9576621e6596a.tar.gz libcore-a515759d83bac3e3b6bfdea20eb9576621e6596a.tar.bz2 |
A simple set of JNI argument passing tests.
Change-Id: Ibf2051fae4b5026a4a14fcdc27be71415520d117
(cherry picked from commit cd8016c67b7f215bf374467257ede53197c44423)Conflicts:
Diffstat (limited to 'luni/src/test/native')
-rw-r--r-- | luni/src/test/native/dalvik_system_JniTest.cpp | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/luni/src/test/native/dalvik_system_JniTest.cpp b/luni/src/test/native/dalvik_system_JniTest.cpp new file mode 100644 index 0000000..14c3e1c --- /dev/null +++ b/luni/src/test/native/dalvik_system_JniTest.cpp @@ -0,0 +1,269 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <jni.h> +#include <stdlib.h> // for abort + +extern "C" jobject Java_dalvik_system_JniTest_returnThis(JNIEnv*, jobject obj) { + return obj; +} + +extern "C" jclass Java_dalvik_system_JniTest_returnClass(JNIEnv*, jclass klass) { + return klass; +} + +extern "C" jobject Java_dalvik_system_JniTest_returnObjectArgFrom16( + JNIEnv*, jobject, int arg_no, + jobject o1, jobject o2, jobject o3, jobject o4, jobject o5, + jobject o6, jobject o7, jobject o8, jobject o9, jobject o10, + jobject o11, jobject o12, jobject o13, jobject o14, jobject o15, + jobject o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jboolean Java_dalvik_system_JniTest_returnBooleanArgFrom16( + JNIEnv*, jobject, int arg_no, + jboolean o1, jboolean o2, jboolean o3, jboolean o4, jboolean o5, + jboolean o6, jboolean o7, jboolean o8, jboolean o9, jboolean o10, + jboolean o11, jboolean o12, jboolean o13, jboolean o14, jboolean o15, + jboolean o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jchar Java_dalvik_system_JniTest_returnCharArgFrom16( + JNIEnv*, jobject, int arg_no, + jchar o1, jchar o2, jchar o3, jchar o4, jchar o5, + jchar o6, jchar o7, jchar o8, jchar o9, jchar o10, + jchar o11, jchar o12, jchar o13, jchar o14, jchar o15, + jchar o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jbyte Java_dalvik_system_JniTest_returnByteArgFrom16( + JNIEnv*, jobject, int arg_no, + jbyte o1, jbyte o2, jbyte o3, jbyte o4, jbyte o5, + jbyte o6, jbyte o7, jbyte o8, jbyte o9, jbyte o10, + jbyte o11, jbyte o12, jbyte o13, jbyte o14, jbyte o15, + jbyte o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jshort Java_dalvik_system_JniTest_returnShortArgFrom16( + JNIEnv*, jobject, int arg_no, + jshort o1, jshort o2, jshort o3, jshort o4, jshort o5, + jshort o6, jshort o7, jshort o8, jshort o9, jshort o10, + jshort o11, jshort o12, jshort o13, jshort o14, jshort o15, + jshort o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jint Java_dalvik_system_JniTest_returnIntArgFrom16( + JNIEnv*, jobject, int arg_no, + jint o1, jint o2, jint o3, jint o4, jint o5, + jint o6, jint o7, jint o8, jint o9, jint o10, + jint o11, jint o12, jint o13, jint o14, jint o15, + jint o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jlong Java_dalvik_system_JniTest_returnLongArgFrom16( + JNIEnv*, jobject, int arg_no, + jlong o1, jlong o2, jlong o3, jlong o4, jlong o5, + jlong o6, jlong o7, jlong o8, jlong o9, jlong o10, + jlong o11, jlong o12, jlong o13, jlong o14, jlong o15, + jlong o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jfloat Java_dalvik_system_JniTest_returnFloatArgFrom16( + JNIEnv*, jobject, int arg_no, + jfloat o1, jfloat o2, jfloat o3, jfloat o4, jfloat o5, + jfloat o6, jfloat o7, jfloat o8, jfloat o9, jfloat o10, + jfloat o11, jfloat o12, jfloat o13, jfloat o14, jfloat o15, + jfloat o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} + +extern "C" jdouble Java_dalvik_system_JniTest_returnDoubleArgFrom16( + JNIEnv*, jobject, int arg_no, + jdouble o1, jdouble o2, jdouble o3, jdouble o4, jdouble o5, + jdouble o6, jdouble o7, jdouble o8, jdouble o9, jdouble o10, + jdouble o11, jdouble o12, jdouble o13, jdouble o14, jdouble o15, + jdouble o16) { + switch(arg_no){ + case 0: return o1; + case 1: return o2; + case 2: return o3; + case 3: return o4; + case 4: return o5; + case 5: return o6; + case 6: return o7; + case 7: return o8; + case 8: return o9; + case 9: return o10; + case 10: return o11; + case 11: return o12; + case 12: return o13; + case 13: return o14; + case 14: return o15; + case 15: return o16; + default: abort(); + } +} |