< prev index next >

test/runtime/logging/ClassLoadUnloadTest.java

Print this page




  57         out = new OutputAnalyzer(pb.start());
  58         for (String s: outputStrings) {
  59             out.shouldContain(s);
  60         }
  61         out.shouldHaveExitValue(0);
  62     }
  63 
  64     static void checkAbsent(String... outputStrings) throws Exception {
  65         out = new OutputAnalyzer(pb.start());
  66         for (String s: outputStrings) {
  67             out.shouldNotContain(s);
  68         }
  69         out.shouldHaveExitValue(0);
  70     }
  71 
  72     // Use the same command-line heap size setting as ../ClassUnload/UnloadTest.java
  73     static ProcessBuilder exec(String... args) throws Exception {
  74         List<String> argsList = new ArrayList<>();
  75         Collections.addAll(argsList, args);
  76         Collections.addAll(argsList, "-Xmn8m");
  77         Collections.addAll(argsList, "-Dtest.classes=" + System.getProperty("test.classes","."));
  78         Collections.addAll(argsList, ClassUnloadTestMain.class.getName());
  79         return ProcessTools.createJavaProcessBuilder(argsList.toArray(new String[argsList.size()]));
  80     }
  81 
  82     public static void main(String... args) throws Exception {
  83 
  84         //  -Xlog:class+unload=info
  85         pb = exec("-Xlog:class+unload=info");
  86         checkFor("[class,unload]", "unloading class");
  87 
  88         //  -Xlog:class+unload=off
  89         pb = exec("-Xlog:class+unload=off");
  90         checkAbsent("[class,unload]");
  91 
  92         //  -XX:+TraceClassUnloading
  93         pb = exec("-XX:+TraceClassUnloading");
  94         checkFor("[class,unload]", "unloading class");
  95 
  96         //  -XX:-TraceClassUnloading
  97         pb = exec("-XX:-TraceClassUnloading");




  57         out = new OutputAnalyzer(pb.start());
  58         for (String s: outputStrings) {
  59             out.shouldContain(s);
  60         }
  61         out.shouldHaveExitValue(0);
  62     }
  63 
  64     static void checkAbsent(String... outputStrings) throws Exception {
  65         out = new OutputAnalyzer(pb.start());
  66         for (String s: outputStrings) {
  67             out.shouldNotContain(s);
  68         }
  69         out.shouldHaveExitValue(0);
  70     }
  71 
  72     // Use the same command-line heap size setting as ../ClassUnload/UnloadTest.java
  73     static ProcessBuilder exec(String... args) throws Exception {
  74         List<String> argsList = new ArrayList<>();
  75         Collections.addAll(argsList, args);
  76         Collections.addAll(argsList, "-Xmn8m");
  77         Collections.addAll(argsList, "-Dtest.class.path=" + System.getProperty("test.class.path", "."));
  78         Collections.addAll(argsList, ClassUnloadTestMain.class.getName());
  79         return ProcessTools.createJavaProcessBuilder(argsList.toArray(new String[argsList.size()]));
  80     }
  81 
  82     public static void main(String... args) throws Exception {
  83 
  84         //  -Xlog:class+unload=info
  85         pb = exec("-Xlog:class+unload=info");
  86         checkFor("[class,unload]", "unloading class");
  87 
  88         //  -Xlog:class+unload=off
  89         pb = exec("-Xlog:class+unload=off");
  90         checkAbsent("[class,unload]");
  91 
  92         //  -XX:+TraceClassUnloading
  93         pb = exec("-XX:+TraceClassUnloading");
  94         checkFor("[class,unload]", "unloading class");
  95 
  96         //  -XX:-TraceClassUnloading
  97         pb = exec("-XX:-TraceClassUnloading");


< prev index next >