< prev index next >
test/hotspot/jtreg/runtime/modules/JVMDefineModule.java
Print this page
rev 58870 : 8242452: During module definition, move conversion of packages from native to VM
8242290: Pointless verification in get_package_entry_by_name
Reviewed-by: lfoltan, alanb, iklam
*** 193,212 ****
// Zero length package list, should be okay
m = ModuleHelper.ModuleObject("zero.packages", cl, new String[] { });
assertNotNull(m, "Module should not be null");
ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { });
! // Invalid package name, expect an IAE
m = ModuleHelper.ModuleObject("moduleFive", cl, new String[] { "your.apackage" });
! try {
! ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { "your.apackage" });
! throw new RuntimeException("Failed to get expected IAE for your.apackage");
! } catch(IllegalArgumentException e) {
! if (!e.getMessage().contains("Invalid package name")) {
! throw new RuntimeException("Failed to get expected IAE message for bad package name: " + e.getMessage());
! }
! }
// Invalid package name, expect an IAE
m = ModuleHelper.ModuleObject("moduleSix", cl, new String[] { "foo" }); // Name irrelevant
try {
ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { ";your/apackage" });
--- 193,206 ----
// Zero length package list, should be okay
m = ModuleHelper.ModuleObject("zero.packages", cl, new String[] { });
assertNotNull(m, "Module should not be null");
ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { });
! // Package name with dots, should be okay
m = ModuleHelper.ModuleObject("moduleFive", cl, new String[] { "your.apackage" });
! assertNotNull(m, "Module should not be null");
! ModuleHelper.DefineModule(m, false, "9.0", "moduleFive", new String[] { "your.apackage" });
// Invalid package name, expect an IAE
m = ModuleHelper.ModuleObject("moduleSix", cl, new String[] { "foo" }); // Name irrelevant
try {
ModuleHelper.DefineModule(m, false, "9.0", "module.name/here", new String[] { ";your/apackage" });
*** 278,286 ****
--- 272,312 ----
// module location that is "", should be okay
m = ModuleHelper.ModuleObject("moduleEleven", cl, new String[] { "a_package_11" });
assertNotNull(m, "Module should not be null");
ModuleHelper.DefineModule(m, false, "9.0", "", new String[] { "a_package_11" });
+
+ // module with very long package names, should be okay
+ String[] longPackageNames = new String[] {
+ "mypackage/mypackage/mypackage/mypackage1",
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage2",
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage/" +
+ "mypackage/mypackage/mypackage/mypackage3"
+ };
+ m = ModuleHelper.ModuleObject("moduleTwelve", cl, longPackageNames);
+ assertNotNull(m, "Module should not be null");
+ ModuleHelper.DefineModule(m, false, "9.0", "moduleTwelve", longPackageNames);
+ // Indirectly test that the package names doesn't get truncated when defined
+ for (int i = 0; i < longPackageNames.length; i++) {
+ ModuleHelper.AddModuleExportsToAllUnnamed(m, longPackageNames[i]);
+ }
}
static class MyClassLoader extends ClassLoader { }
}
< prev index next >