< prev index next >

test/runtime/NMT/CheckForProperDetailStackTrace.java

Print this page




  23 
  24  /*
  25  * @test
  26  * @key nmt
  27  * @summary Running with NMT detail should produce expected stack traces.
  28  * @library /test/lib
  29  * @modules java.base/jdk.internal.misc
  30  *          java.management
  31  */
  32 
  33 import jdk.test.lib.Platform;
  34 import jdk.test.lib.process.ProcessTools;
  35 import jdk.test.lib.process.OutputAnalyzer;
  36 import java.util.regex.Matcher;
  37 import java.util.regex.Pattern;
  38 
  39 public class CheckForProperDetailStackTrace {
  40     /* The stack trace we look for by default. Note that :: has been replaced by .*
  41        to make sure it maches even if the symbol is not unmangled. */
  42     public static String stackTraceDefault =

  43         ".*ModuleEntryTable.*new_entry.*\n" +
  44         ".*ModuleEntryTable.*locked_create_entry_or_null.*\n" +
  45         ".*Modules.*define_module.*\n" +
  46         ".*JVM_DefineModule.*\n";
  47 
  48     /* The stack trace we look for on Solaris and Windows slowdebug builds. For some
  49        reason ALWAYSINLINE for AllocateHeap is ignored, so it appears in the stack strace. */
  50     public static String stackTraceAllocateHeap =
  51         ".*AllocateHeap.*\n" +
  52         ".*ModuleEntryTable.*new_entry.*\n" +
  53         ".*ModuleEntryTable.*locked_create_entry_or_null.*\n" +
  54         ".*Modules.*define_module.*\n";
  55 
  56     /* A symbol that should always be present in NMT detail output. */
  57     private static String expectedSymbol =
  58         "locked_create_entry_or_null";
  59 
  60     public static void main(String args[]) throws Exception {
  61         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
  62             "-XX:+UnlockDiagnosticVMOptions",
  63             "-XX:NativeMemoryTracking=detail",
  64             "-XX:+PrintNMTStatistics",
  65             "-version");
  66         OutputAnalyzer output = new OutputAnalyzer(pb.start());




  23 
  24  /*
  25  * @test
  26  * @key nmt
  27  * @summary Running with NMT detail should produce expected stack traces.
  28  * @library /test/lib
  29  * @modules java.base/jdk.internal.misc
  30  *          java.management
  31  */
  32 
  33 import jdk.test.lib.Platform;
  34 import jdk.test.lib.process.ProcessTools;
  35 import jdk.test.lib.process.OutputAnalyzer;
  36 import java.util.regex.Matcher;
  37 import java.util.regex.Pattern;
  38 
  39 public class CheckForProperDetailStackTrace {
  40     /* The stack trace we look for by default. Note that :: has been replaced by .*
  41        to make sure it maches even if the symbol is not unmangled. */
  42     public static String stackTraceDefault =
  43         ".*Hashtable.*allocate_new_entry.*\n" +
  44         ".*ModuleEntryTable.*new_entry.*\n" +
  45         ".*ModuleEntryTable.*locked_create_entry_or_null.*\n" +
  46         ".*Modules.*define_module.*\n";

  47 
  48     /* The stack trace we look for on Solaris and Windows slowdebug builds. For some
  49        reason ALWAYSINLINE for AllocateHeap is ignored, so it appears in the stack strace. */
  50     public static String stackTraceAllocateHeap =
  51         ".*AllocateHeap.*\n" +
  52         ".*ModuleEntryTable.*new_entry.*\n" +
  53         ".*ModuleEntryTable.*locked_create_entry_or_null.*\n" +
  54         ".*Modules.*define_module.*\n";
  55 
  56     /* A symbol that should always be present in NMT detail output. */
  57     private static String expectedSymbol =
  58         "locked_create_entry_or_null";
  59 
  60     public static void main(String args[]) throws Exception {
  61         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
  62             "-XX:+UnlockDiagnosticVMOptions",
  63             "-XX:NativeMemoryTracking=detail",
  64             "-XX:+PrintNMTStatistics",
  65             "-version");
  66         OutputAnalyzer output = new OutputAnalyzer(pb.start());


< prev index next >