23
24 import java.util.ArrayList;
25 import java.util.List;
26 import java.util.stream.Collectors;
27
28 import jdk.test.lib.apps.LingeredApp;
29 import jdk.test.lib.apps.LingeredAppWithDeadlock;
30
31 import jdk.testlibrary.Utils;
32 import jdk.testlibrary.Platform;
33 import jdk.testlibrary.JDKToolLauncher;
34 import jdk.testlibrary.OutputAnalyzer;
35 import jdk.testlibrary.ProcessTools;
36
37 /*
38 * @test
39 * @summary Test deadlock detection
40 * @library /test/lib
41 * @library /lib/testlibrary
42 * @build jdk.testlibrary.*
43 * @build jdk.test.lib.apps.*
44 * @build DeadlockDetectionTest
45 * @run main DeadlockDetectionTest
46 */
47 public class DeadlockDetectionTest {
48
49 private static LingeredAppWithDeadlock theApp = null;
50 private static ProcessBuilder processBuilder = new ProcessBuilder();
51
52 private static OutputAnalyzer jstack(String... toolArgs) throws Exception {
53 JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jstack");
54 launcher.addVMArg("-XX:+UsePerfData");
55 if (toolArgs != null) {
56 for (String toolArg : toolArgs) {
57 launcher.addToolArg(toolArg);
58 }
59 }
60
61 processBuilder.command(launcher.getCommand());
62 System.out.println(processBuilder.command().stream().collect(Collectors.joining(" ")));
63 OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);
64 System.out.println(output.getOutput());
|
23
24 import java.util.ArrayList;
25 import java.util.List;
26 import java.util.stream.Collectors;
27
28 import jdk.test.lib.apps.LingeredApp;
29 import jdk.test.lib.apps.LingeredAppWithDeadlock;
30
31 import jdk.testlibrary.Utils;
32 import jdk.testlibrary.Platform;
33 import jdk.testlibrary.JDKToolLauncher;
34 import jdk.testlibrary.OutputAnalyzer;
35 import jdk.testlibrary.ProcessTools;
36
37 /*
38 * @test
39 * @summary Test deadlock detection
40 * @library /test/lib
41 * @library /lib/testlibrary
42 * @build jdk.testlibrary.*
43 * @run main DeadlockDetectionTest
44 */
45 public class DeadlockDetectionTest {
46
47 private static LingeredAppWithDeadlock theApp = null;
48 private static ProcessBuilder processBuilder = new ProcessBuilder();
49
50 private static OutputAnalyzer jstack(String... toolArgs) throws Exception {
51 JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jstack");
52 launcher.addVMArg("-XX:+UsePerfData");
53 if (toolArgs != null) {
54 for (String toolArg : toolArgs) {
55 launcher.addToolArg(toolArg);
56 }
57 }
58
59 processBuilder.command(launcher.getCommand());
60 System.out.println(processBuilder.command().stream().collect(Collectors.joining(" ")));
61 OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);
62 System.out.println(output.getOutput());
|