diff -r de882051f7a5 -r fcad92f425c5 test/jdk/jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java --- 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(); + } } } }