< prev index next >

test/hotspot/jtreg/runtime/logging/MonitorInflationTest.java

Print this page

20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 /*
25  * @test
26  * @bug 8133885
27  * @summary monitorinflation=trace should have logging from each of the statements in the code
28  * @library /test/lib
29  * @modules java.base/jdk.internal.misc
30  *          java.management
31  * @run driver MonitorInflationTest
32  */
33 
34 import jdk.test.lib.process.OutputAnalyzer;
35 import jdk.test.lib.process.ProcessTools;
36 
37 public class MonitorInflationTest {
38     static void analyzeOutputOn(ProcessBuilder pb) throws Exception {
39         OutputAnalyzer output = new OutputAnalyzer(pb.start());
40         output.shouldContain("inflate(has_locker):");
41         output.shouldContain("type='MonitorInflationTest$Waiter'");
42         output.shouldContain("I've been waiting.");
43         output.shouldHaveExitValue(0);
44     }
45 
46     static void analyzeOutputOff(ProcessBuilder pb) throws Exception {
47         OutputAnalyzer output = new OutputAnalyzer(pb.start());
48         output.shouldNotContain("[monitorinflation]");
49         output.shouldHaveExitValue(0);
50     }
51 
52     public static void main(String[] args) throws Exception {
53         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=trace",
54                                                                   InnerClass.class.getName());
55         analyzeOutputOn(pb);
56 
57         pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=off",
58                                                    InnerClass.class.getName());
59         analyzeOutputOff(pb);
60     }

20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 /*
25  * @test
26  * @bug 8133885
27  * @summary monitorinflation=trace should have logging from each of the statements in the code
28  * @library /test/lib
29  * @modules java.base/jdk.internal.misc
30  *          java.management
31  * @run driver MonitorInflationTest
32  */
33 
34 import jdk.test.lib.process.OutputAnalyzer;
35 import jdk.test.lib.process.ProcessTools;
36 
37 public class MonitorInflationTest {
38     static void analyzeOutputOn(ProcessBuilder pb) throws Exception {
39         OutputAnalyzer output = new OutputAnalyzer(pb.start());
40         output.shouldContain("inflate(locked):");
41         output.shouldContain("type='MonitorInflationTest$Waiter'");
42         output.shouldContain("I've been waiting.");
43         output.shouldHaveExitValue(0);
44     }
45 
46     static void analyzeOutputOff(ProcessBuilder pb) throws Exception {
47         OutputAnalyzer output = new OutputAnalyzer(pb.start());
48         output.shouldNotContain("[monitorinflation]");
49         output.shouldHaveExitValue(0);
50     }
51 
52     public static void main(String[] args) throws Exception {
53         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=trace",
54                                                                   InnerClass.class.getName());
55         analyzeOutputOn(pb);
56 
57         pb = ProcessTools.createJavaProcessBuilder("-Xlog:monitorinflation=off",
58                                                    InnerClass.class.getName());
59         analyzeOutputOff(pb);
60     }
< prev index next >