< prev index next >

test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java

Print this page




  39             System.out.println("SA attach not expected to work - test skipped.");
  40             return;
  41         }
  42 
  43         LingeredApp app = null;
  44 
  45         try {
  46             app = LingeredApp.startApp(Utils.getVmOptions());
  47             System.out.println("Started LingeredApp with pid " + app.getPid());
  48 
  49             JDKToolLauncher jhsdbLauncher = JDKToolLauncher.createUsingTestJDK("jhsdb");
  50 
  51             jhsdbLauncher.addToolArg("jstack");
  52             jhsdbLauncher.addToolArg("--pid");
  53             jhsdbLauncher.addToolArg(Long.toString(app.getPid()));
  54 
  55             ProcessBuilder pb = new ProcessBuilder();
  56             pb.command(jhsdbLauncher.getCommand());
  57             Process jhsdb = pb.start();
  58 
  59             jhsdb.waitFor();
  60 
  61             OutputAnalyzer out = new OutputAnalyzer(jhsdb);


  62 
  63             System.out.println(out.getStdout());
  64             System.err.println(out.getStderr());
  65 
  66             out.shouldMatch("\".+\" #\\d+ daemon prio=\\d+ tid=0x[0-9a-f]+ nid=0x[0-9a-f]+ .+ \\[0x[0-9a-f]+]");
  67             out.shouldMatch("\"main\" #\\d+ prio=\\d+ tid=0x[0-9a-f]+ nid=0x[0-9a-f]+ .+ \\[0x[0-9a-f]+]");
  68             out.shouldMatch("   java.lang.Thread.State: .+");
  69             out.shouldMatch("   JavaThread state: _thread_.+");
  70 
  71             out.shouldNotContain("   java.lang.Thread.State: UNKNOWN");
  72             out.stderrShouldBeEmpty();
  73 
  74             System.out.println("Test Completed");
  75         } catch (InterruptedException ie) {
  76             throw new Error("Problem awaiting the child process: " + ie, ie);
  77         } catch (Exception attachE) {
  78             throw new Error("Couldn't start jhsdb, attach to LingeredApp or match ThreadName: " + attachE);
  79         } finally {
  80             LingeredApp.stopApp(app);
  81         }


  39             System.out.println("SA attach not expected to work - test skipped.");
  40             return;
  41         }
  42 
  43         LingeredApp app = null;
  44 
  45         try {
  46             app = LingeredApp.startApp(Utils.getVmOptions());
  47             System.out.println("Started LingeredApp with pid " + app.getPid());
  48 
  49             JDKToolLauncher jhsdbLauncher = JDKToolLauncher.createUsingTestJDK("jhsdb");
  50 
  51             jhsdbLauncher.addToolArg("jstack");
  52             jhsdbLauncher.addToolArg("--pid");
  53             jhsdbLauncher.addToolArg(Long.toString(app.getPid()));
  54 
  55             ProcessBuilder pb = new ProcessBuilder();
  56             pb.command(jhsdbLauncher.getCommand());
  57             Process jhsdb = pb.start();
  58 


  59             OutputAnalyzer out = new OutputAnalyzer(jhsdb);
  60 
  61             jhsdb.waitFor();
  62 
  63             System.out.println(out.getStdout());
  64             System.err.println(out.getStderr());
  65 
  66             out.shouldMatch("\".+\" #\\d+ daemon prio=\\d+ tid=0x[0-9a-f]+ nid=0x[0-9a-f]+ .+ \\[0x[0-9a-f]+]");
  67             out.shouldMatch("\"main\" #\\d+ prio=\\d+ tid=0x[0-9a-f]+ nid=0x[0-9a-f]+ .+ \\[0x[0-9a-f]+]");
  68             out.shouldMatch("   java.lang.Thread.State: .+");
  69             out.shouldMatch("   JavaThread state: _thread_.+");
  70 
  71             out.shouldNotContain("   java.lang.Thread.State: UNKNOWN");
  72             out.stderrShouldBeEmpty();
  73 
  74             System.out.println("Test Completed");
  75         } catch (InterruptedException ie) {
  76             throw new Error("Problem awaiting the child process: " + ie, ie);
  77         } catch (Exception attachE) {
  78             throw new Error("Couldn't start jhsdb, attach to LingeredApp or match ThreadName: " + attachE);
  79         } finally {
  80             LingeredApp.stopApp(app);
  81         }
< prev index next >