--- a/test/jdk/jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java Mon Nov 25 12:34:43 2019 +0100
+++ b/test/jdk/jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java Mon Nov 25 14:06:13 2019 +0100
@@ -33,7 +33,6 @@
import jdk.jfr.consumer.EventStream;
import jdk.test.lib.dcmd.CommandExecutor;
import jdk.test.lib.dcmd.PidJcmdExecutor;
-import jdk.test.lib.process.OutputAnalyzer;
/**
* @test
@@ -47,23 +46,25 @@
*/
public class TestOutOfProcessMigration {
public static void main(String... args) throws Exception {
- Path newRepo = Paths.get("new-repository").toAbsolutePath();
-
- TestProcess process = new TestProcess("application");
- AtomicInteger eventCounter = new AtomicInteger();
- try (EventStream es = EventStream.openRepository(process.getRepository())) {
- // Start from first event in repository
- es.setStartTime(Instant.EPOCH);
- es.onEvent(e -> {
- if (eventCounter.incrementAndGet() == TestProcess.NUMBER_OF_EVENTS) {
- System.out.println("Changing repository to " + newRepo + " ...");
- CommandExecutor executor = new PidJcmdExecutor(String.valueOf(process.pid()));
- // This should close stream
- OutputAnalyzer oa = executor.execute("JFR.configure repositorypath=" + newRepo);
- System.out.println(oa);
- }
- });
- es.start();
+ try (TestProcess process = new TestProcess("application")) {
+ AtomicInteger eventCounter = new AtomicInteger();
+ Path newRepo = Paths.get("new-repository").toAbsolutePath();
+ try (EventStream es = EventStream.openRepository(process.getRepository())) {
+ // Start from first event in repository
+ es.setStartTime(Instant.EPOCH);
+ es.onEvent(e -> {
+ if (eventCounter.incrementAndGet() == TestProcess.NUMBER_OF_EVENTS) {
+ System.out.println("Changing repository to " + newRepo + " ...");
+ CommandExecutor executor = new PidJcmdExecutor(String.valueOf(process.pid()));
+ // This should close stream
+ executor.execute("JFR.configure repositorypath=" + newRepo);
+ }
+ });
+ es.start();
+ process.exit();
+ // Wait for process to die, so files are cleaned up
+ process.awaitDeath();
+ }
}
}
}