56 } |
56 } |
57 |
57 |
58 public static void main(String... args) throws Exception { |
58 public static void main(String... args) throws Exception { |
59 |
59 |
60 // (1) classresolve should turn on. |
60 // (1) classresolve should turn on. |
61 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( |
61 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:classresolve=info", |
62 "-Xlog:classresolve=info", ClassResolutionTestMain.class.getName()); |
62 ClassResolutionTestMain.class.getName()); |
63 OutputAnalyzer o = new OutputAnalyzer(pb.start()); |
63 OutputAnalyzer o = new OutputAnalyzer(pb.start()); |
64 o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); |
64 o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); |
65 |
65 |
66 // (2) classresolve should turn off. |
66 // (2) classresolve should turn off. |
67 pb = ProcessTools.createJavaProcessBuilder( |
67 pb = ProcessTools.createJavaProcessBuilder("-Xlog", |
68 "-Xlog", "-Xlog:classresolve=off", ClassResolutionTestMain.class.getName()); |
68 "-Xlog:classresolve=off", |
|
69 ClassResolutionTestMain.class.getName()); |
69 o = new OutputAnalyzer(pb.start()); |
70 o = new OutputAnalyzer(pb.start()); |
70 o.shouldNotContain("[classresolve]"); |
71 o.shouldNotContain("[classresolve]"); |
71 |
72 |
72 // (3) TraceClassResolution should turn on. |
73 // (3) TraceClassResolution should turn on. |
73 pb = ProcessTools.createJavaProcessBuilder( |
74 pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceClassResolution", |
74 "-XX:+TraceClassResolution", ClassResolutionTestMain.class.getName()); |
75 ClassResolutionTestMain.class.getName()); |
75 o = new OutputAnalyzer(pb.start()); |
76 o = new OutputAnalyzer(pb.start()); |
76 o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); |
77 o.shouldContain("[classresolve] ClassResolutionTest$ClassResolutionTestMain$Thing1Handler ClassResolutionTest$ClassResolutionTestMain$Thing1"); |
77 |
78 |
78 // (4) TraceClassResolution should turn off. |
79 // (4) TraceClassResolution should turn off. |
79 pb = ProcessTools.createJavaProcessBuilder( |
80 pb = ProcessTools.createJavaProcessBuilder("-Xlog", |
80 "-Xlog", "-XX:-TraceClassResolution", ClassResolutionTestMain.class.getName()); |
81 "-XX:-TraceClassResolution", |
|
82 ClassResolutionTestMain.class.getName()); |
81 o = new OutputAnalyzer(pb.start()); |
83 o = new OutputAnalyzer(pb.start()); |
82 o.shouldNotContain("[classresolve]"); |
84 o.shouldNotContain("[classresolve]"); |
83 |
85 |
84 |
86 |
85 }; |
87 }; |