< prev index next >
test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderHierarchyTest.java
Print this page
*** 46,68 ****
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class ClassLoaderHierarchyTest {
! //+-- <bootstrap>
// |
! // +-- "platform", jdk.internal.loader.ClassLoaders$PlatformClassLoader
// | |
! // | +-- "app", jdk.internal.loader.ClassLoaders$AppClassLoader
// |
! // +-- jdk.internal.reflect.DelegatingClassLoader
// |
! // +-- "Kevin", ClassLoaderHierarchyTest$TestClassLoader
// |
! // +-- ClassLoaderHierarchyTest$TestClassLoader
// |
! // +-- "Bill", ClassLoaderHierarchyTest$TestClassLoader
public void run(CommandExecutor executor) throws ClassNotFoundException {
ClassLoader unnamed_cl = new TestClassLoader(null, null);
Class<?> c1 = Class.forName("TestClass2", true, unnamed_cl);
--- 46,68 ----
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class ClassLoaderHierarchyTest {
! //+-- 'bootstrap'
// |
! // +-- 'platform', jdk.internal.loader.ClassLoaders$PlatformClassLoader
// | |
! // | +-- 'app', jdk.internal.loader.ClassLoaders$AppClassLoader
// |
! // +-- jdk.internal.reflect.DelegatingClassLoader @<id>
// |
! // +-- 'Kevin' @<id>, ClassLoaderHierarchyTest$TestClassLoader
// |
! // +-- ClassLoaderHierarchyTest$TestClassLoader @<id>
// |
! // +-- 'Bill' @<id>, ClassLoaderHierarchyTest$TestClassLoader
public void run(CommandExecutor executor) throws ClassNotFoundException {
ClassLoader unnamed_cl = new TestClassLoader(null, null);
Class<?> c1 = Class.forName("TestClass2", true, unnamed_cl);
*** 82,103 ****
Assert.fail("TestClass defined by wrong classloader: " + c3.getClassLoader());
}
// First test: simple output, no classes displayed
OutputAnalyzer output = executor.execute("VM.classloaders");
! output.shouldContain("<bootstrap>");
output.shouldMatch(".*TestClassLoader");
! output.shouldMatch("Kevin.*TestClassLoader");
! output.shouldMatch("Bill.*TestClassLoader");
// Second test: print with classes.
output = executor.execute("VM.classloaders show-classes");
! output.shouldContain("<bootstrap>");
output.shouldContain("java.lang.Object");
output.shouldMatch(".*TestClassLoader");
! output.shouldMatch("Kevin.*TestClassLoader");
! output.shouldMatch("Bill.*TestClassLoader");
output.shouldContain("TestClass2");
}
static class TestClassLoader extends ClassLoader {
--- 82,103 ----
Assert.fail("TestClass defined by wrong classloader: " + c3.getClassLoader());
}
// First test: simple output, no classes displayed
OutputAnalyzer output = executor.execute("VM.classloaders");
! output.shouldContain("'bootstrap'");
output.shouldMatch(".*TestClassLoader");
! output.shouldMatch("'Kevin'.*TestClassLoader");
! output.shouldMatch("'Bill'.*TestClassLoader");
// Second test: print with classes.
output = executor.execute("VM.classloaders show-classes");
! output.shouldContain("'bootstrap'");
output.shouldContain("java.lang.Object");
output.shouldMatch(".*TestClassLoader");
! output.shouldMatch("'Kevin'.*TestClassLoader");
! output.shouldMatch("'Bill'.*TestClassLoader");
output.shouldContain("TestClass2");
}
static class TestClassLoader extends ClassLoader {
< prev index next >