< prev index next >
test/lib/jdk/test/lib/containers/docker/Common.java
Print this page
@@ -29,10 +29,12 @@
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
+import java.util.List;
+import java.util.stream.Collectors;
import jdk.test.lib.containers.docker.DockerRunOptions;
import jdk.test.lib.containers.docker.DockerTestUtils;
import jdk.test.lib.Utils;
import jdk.test.lib.process.OutputAnalyzer;
@@ -85,6 +87,21 @@
// log beginning of a test case
public static void logNewTestCase(String msg) {
System.out.println("========== NEW TEST CASE: " + msg);
}
+ // find process ID from JCMD output
+ public static long findPidFromJcmdOutput(OutputAnalyzer out, String name) throws Exception {
+ List<String> l = out.asLines()
+ .stream()
+ .filter(s -> s.contains(name))
+ .collect(Collectors.toList());
+ if (l.isEmpty()) {
+ throw new RuntimeException("Could not find matching process");
+ }
+ String psInfo = l.get(0);
+ System.out.println("findPidFromJcmdOutput(): psInfo: " + psInfo);
+ String pid = psInfo.substring(0, psInfo.indexOf(' '));
+ System.out.println("findPidFromJcmdOutput(): pid: " + pid);
+ return Long.parseLong(pid);
+ }
}
< prev index next >