< prev index next >

test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderHierarchyTest.java

Print this page
rev 50411 : imported patch 8203682-jcmd-print-classloader-hierarchy
rev 50412 : [mq]: 8203682-jcmd-print-classloader-hierarchy-delta

*** 46,70 **** import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class ClassLoaderHierarchyTest { ! // jcmd my-vm VM.classloaders ! // +-- <bootstrap> // | ! // +-- platform (instance of jdk.internal.loader.ClassLoaders$PlatformClassLoader) // | | ! // | +-- app (instance of jdk.internal.loader.ClassLoaders$AppClassLoader) // | ! // +-- <unnamed> (instance of jdk.internal.reflect.DelegatingClassLoader) // | ! // +-- Kevin (instance of ClassLoaderHierarchyTest$TestClassLoader) // | ! // +-- <unnamed> (instance of ClassLoaderHierarchyTest$TestClassLoader) // | ! // +-- Bill (instance of 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 // | ! // +-- "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);
*** 85,105 **** } // First test: simple output, no classes displayed OutputAnalyzer output = executor.execute("VM.classloaders"); output.shouldContain("<bootstrap>"); ! output.shouldMatch("<unnamed>.*instance of.*TestClassLoader"); ! output.shouldMatch("Kevin.*instance of.*TestClassLoader"); ! output.shouldMatch("Bill.*instance of.*TestClassLoader"); // Second test: print with classes. output = executor.execute("VM.classloaders show-classes"); output.shouldContain("<bootstrap>"); output.shouldContain("java.lang.Object"); ! output.shouldMatch("<unnamed>.*instance of.*TestClassLoader"); ! output.shouldMatch("Kevin.*instance of.*TestClassLoader"); ! output.shouldMatch("Bill.*instance of.*TestClassLoader"); output.shouldContain("TestClass2"); } static class TestClassLoader extends ClassLoader { --- 83,103 ---- } // 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 >