< prev index next >

test/sun/tools/jhsdb/BasicLauncherTest.java

Print this page

        

*** 38,47 **** --- 38,48 ---- import java.io.InputStreamReader; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Arrays; + import java.util.Optional; import jdk.testlibrary.JDKToolLauncher; import jdk.testlibrary.Utils; import jdk.testlibrary.OutputAnalyzer; import jdk.testlibrary.ProcessTools; import jdk.test.lib.apps.LingeredApp;
*** 109,119 **** /** * * @param vmArgs - vm and java arguments to launch test app * @return exit code of tool */ ! public static void launch(String expectedMessage, List<String> toolArgs) throws IOException { System.out.println("Starting LingeredApp"); try { theApp = LingeredApp.startApp(Arrays.asList("-Xmx256m")); --- 110,121 ---- /** * * @param vmArgs - vm and java arguments to launch test app * @return exit code of tool */ ! public static void launch(String expectedMessage, ! Optional<String> unexpectedMessage, List<String> toolArgs) throws IOException { System.out.println("Starting LingeredApp"); try { theApp = LingeredApp.startApp(Arrays.asList("-Xmx256m"));
*** 129,172 **** ProcessBuilder processBuilder = new ProcessBuilder(launcher.getCommand()); processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT); OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);; output.shouldContain(expectedMessage); output.shouldHaveExitValue(0); } catch (Exception ex) { throw new RuntimeException("Test ERROR " + ex, ex); } finally { LingeredApp.stopApp(theApp); } } ! public static void launch(String expectedMessage, String... toolArgs) throws IOException { ! launch(expectedMessage, Arrays.asList(toolArgs)); } ! public static void launchNotOSX(String expectedMessage, String... toolArgs) throws IOException { if (Platform.isOSX()) { // Coredump stackwalking is not implemented for Darwin System.out.println("This test is not expected to work on OS X. Skipping"); return; } } public static void testHeapDump() throws IOException { File dump = new File("jhsdb.jmap.dump." + System.currentTimeMillis() + ".hprof"); if (dump.exists()) { dump.delete(); } dump.deleteOnExit(); ! launch("heap written to", "jmap", "--binaryheap", "--dumpfile=" + dump.getAbsolutePath()); assertTrue(dump.exists() && dump.isFile(), "Could not create dump file " + dump.getAbsolutePath()); } --- 131,180 ---- ProcessBuilder processBuilder = new ProcessBuilder(launcher.getCommand()); processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT); OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);; output.shouldContain(expectedMessage); + unexpectedMessage.ifPresent(output::shouldNotContain); output.shouldHaveExitValue(0); } catch (Exception ex) { throw new RuntimeException("Test ERROR " + ex, ex); } finally { LingeredApp.stopApp(theApp); } } ! public static void launch(String expectedMessage, ! String unexpectedMessage, String... toolArgs) throws IOException { ! launch(expectedMessage, Optional.ofNullable(unexpectedMessage), ! Arrays.asList(toolArgs)); } ! public static void launchNotOSX(String expectedMessage, ! String unexpectedMessage, String... toolArgs) throws IOException { if (Platform.isOSX()) { // Coredump stackwalking is not implemented for Darwin System.out.println("This test is not expected to work on OS X. Skipping"); return; } + + launch(expectedMessage, unexpectedMessage, toolArgs); } public static void testHeapDump() throws IOException { File dump = new File("jhsdb.jmap.dump." + System.currentTimeMillis() + ".hprof"); if (dump.exists()) { dump.delete(); } dump.deleteOnExit(); ! launch("heap written to", null, "jmap", "--binaryheap", "--dumpfile=" + dump.getAbsolutePath()); assertTrue(dump.exists() && dump.isFile(), "Could not create dump file " + dump.getAbsolutePath()); }
*** 180,194 **** return; } launchCLHSDB(); ! launch("compiler detected", "jmap", "--clstats"); ! launchNotOSX("No deadlocks found", "jstack"); ! launch("compiler detected", "jmap"); ! launch("Java System Properties", "jinfo"); ! launch("java.threads", "jsnap"); testHeapDump(); // The test throws RuntimeException on error. // IOException is thrown if LingeredApp can't start because of some bad --- 188,203 ---- return; } launchCLHSDB(); ! launch("compiler detected", null, "jmap", "--clstats"); ! launchNotOSX("No deadlocks found", null, "jstack"); ! launch("compiler detected", null, "jmap"); ! launch("Java System Properties", ! "System Properties info not available", "jinfo"); ! launch("java.threads", null, "jsnap"); testHeapDump(); // The test throws RuntimeException on error. // IOException is thrown if LingeredApp can't start because of some bad
< prev index next >