< prev index next >
test/runtime/SharedArchiveFile/BootAppendTests.java
Print this page
*** 158,182 ****
}
}
// Test #3: If a class on -Xbootclasspath/a is from a package defined in boot modules,
// the class can be loaded from -Xbootclasspath/a when the module is excluded
! // using -limitmods. Verify the behavior is the same at runtime when CDS is
! // enabled.
//
! // The java.desktop module is excluded using -limitmods at runtime,
// javax.sound.sampled.MyClass is archived from -Xbootclasspath/a. It can be
// loaded from the archive at runtime.
public static void testBootAppendExcludedModuleClass() throws Exception {
for (String mode : modes) {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UnlockDiagnosticVMOptions",
"-XX:SharedArchiveFile=./BootAppendTests.jsa",
"-XX:+TraceClassLoading",
"-cp", appJar,
"-Xbootclasspath/a:" + bootAppendJar,
! "-limitmods", "java.base",
"-Xshare:" + mode,
APP_CLASS,
BOOT_APPEND_MODULE_CLASS_NAME);
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldContain("[class,load] javax.sound.sampled.MyClass");
--- 158,182 ----
}
}
// Test #3: If a class on -Xbootclasspath/a is from a package defined in boot modules,
// the class can be loaded from -Xbootclasspath/a when the module is excluded
! // using --limit-modules. Verify the behavior is the same at runtime when CDS
! // is enabled.
//
! // The java.desktop module is excluded using --limit-modules at runtime,
// javax.sound.sampled.MyClass is archived from -Xbootclasspath/a. It can be
// loaded from the archive at runtime.
public static void testBootAppendExcludedModuleClass() throws Exception {
for (String mode : modes) {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UnlockDiagnosticVMOptions",
"-XX:SharedArchiveFile=./BootAppendTests.jsa",
"-XX:+TraceClassLoading",
"-cp", appJar,
"-Xbootclasspath/a:" + bootAppendJar,
! "--limit-modules=java.base",
"-Xshare:" + mode,
APP_CLASS,
BOOT_APPEND_MODULE_CLASS_NAME);
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldContain("[class,load] javax.sound.sampled.MyClass");
*** 189,200 ****
}
// Test #4: If a class on -Xbootclasspath/a has the same fully qualified
// name as a class defined in boot modules, the class is loaded
// from -Xbootclasspath/a when the boot module is excluded using
! // -limitmods. Verify the behavior is the same at runtime when CDS is
! // enabled.
//
// The org.omg.CORBA.Context is a boot module class. The class
// on -Xbootclasspath/a that has the same fully-qualified name
// as org.omg.CORBA.Context can be loaded at runtime when
// java.corba is excluded.
--- 189,200 ----
}
// Test #4: If a class on -Xbootclasspath/a has the same fully qualified
// name as a class defined in boot modules, the class is loaded
// from -Xbootclasspath/a when the boot module is excluded using
! // --limit-modules. Verify the behavior is the same at runtime
! // when CDS is enabled.
//
// The org.omg.CORBA.Context is a boot module class. The class
// on -Xbootclasspath/a that has the same fully-qualified name
// as org.omg.CORBA.Context can be loaded at runtime when
// java.corba is excluded.
*** 204,214 ****
"-XX:+UnlockDiagnosticVMOptions",
"-XX:SharedArchiveFile=./BootAppendTests.jsa",
"-XX:+TraceClassLoading",
"-cp", appJar,
"-Xbootclasspath/a:" + bootAppendJar,
! "-limitmods", "java.base",
"-Xshare:" + mode,
APP_CLASS,
BOOT_APPEND_DUPLICATE_MODULE_CLASS_NAME);
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldContain("[class,load] org.omg.CORBA.Context");
--- 204,214 ----
"-XX:+UnlockDiagnosticVMOptions",
"-XX:SharedArchiveFile=./BootAppendTests.jsa",
"-XX:+TraceClassLoading",
"-cp", appJar,
"-Xbootclasspath/a:" + bootAppendJar,
! "--limit-modules=java.base",
"-Xshare:" + mode,
APP_CLASS,
BOOT_APPEND_DUPLICATE_MODULE_CLASS_NAME);
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldContain("[class,load] org.omg.CORBA.Context");
< prev index next >