--- a/hotspot/test/runtime/modules/getModuleJNI/GetModule.java Tue Apr 26 11:49:37 2016 +0000
+++ b/hotspot/test/runtime/modules/getModuleJNI/GetModule.java Tue Apr 26 09:08:12 2016 -0400
@@ -42,10 +42,22 @@
public static void main(String[] args) {
Module module;
+ Module javaBaseModule;
+
+ // Module for primitive type, should be "java.base"
+ java.lang.Integer primitive_int = 1;
+ try {
+ javaBaseModule = (Module)callGetModule(primitive_int.getClass());
+ if (!javaBaseModule.getName().equals("java.base")) {
+ throw new RuntimeException("Unexpected module name for primitive type: " +
+ javaBaseModule.getName());
+ }
+ } catch(Throwable e) {
+ throw new RuntimeException("Unexpected exception for Integer: " + e.toString());
+ }
// Module for array of primitives, should be "java.base"
int[] int_array = {1, 2, 3};
- Module javaBaseModule;
try {
javaBaseModule = (Module)callGetModule(int_array.getClass());
if (!javaBaseModule.getName().equals("java.base")) {
@@ -56,7 +68,19 @@
throw new RuntimeException("Unexpected exception for [I: " + e.toString());
}
- // Module for java.lang.String
+ // Module for multi-dimensional array of primitives, should be "java.base"
+ int[][] multi_int_array = { {1, 2, 3}, {4, 5, 6} };
+ try {
+ javaBaseModule = (Module)callGetModule(multi_int_array.getClass());
+ if (!javaBaseModule.getName().equals("java.base")) {
+ throw new RuntimeException("Unexpected module name for multi-dimensional array of primitives: " +
+ javaBaseModule.getName());
+ }
+ } catch(Throwable e) {
+ throw new RuntimeException("Unexpected exception for multi-dimensional Integer array: " + e.toString());
+ }
+
+ // Module for java.lang.String, should be "java.base"
java.lang.String str = "abc";
try {
module = (Module)callGetModule(str.getClass());
@@ -68,6 +92,30 @@
throw new RuntimeException("Unexpected exception for String: " + e.toString());
}
+ // Module for array of java.lang.Strings, should be "java.base"
+ java.lang.String[] str_array = {"a", "b", "c"};
+ try {
+ javaBaseModule = (Module)callGetModule(str_array.getClass());
+ if (!javaBaseModule.getName().equals("java.base")) {
+ throw new RuntimeException("Unexpected module name for array of Strings: " +
+ javaBaseModule.getName());
+ }
+ } catch(Throwable e) {
+ throw new RuntimeException("Unexpected exception for String array: " + e.toString());
+ }
+
+ // Module for multi-dimensional array of java.lang.Strings, should be "java.base"
+ java.lang.String[][] multi_str_array = { {"a", "b", "c"}, {"d", "e", "f"} };
+ try {
+ javaBaseModule = (Module)callGetModule(multi_str_array.getClass());
+ if (!javaBaseModule.getName().equals("java.base")) {
+ throw new RuntimeException("Unexpected module name for multi-dimensional array of Strings: " +
+ javaBaseModule.getName());
+ }
+ } catch(Throwable e) {
+ throw new RuntimeException("Unexpected exception for multidimensional String array: " + e.toString());
+ }
+
// Module for java.lang.management.LockInfo
try {
LockInfo li = new LockInfo("java.lang.Class", 57);