< prev index next >

test/hotspot/jtreg/runtime/cds/appcds/javaldr/AnonVmClassesDuringDump.java

Print this page
rev 59477 : [mq]: cds_lambda

@@ -43,10 +43,13 @@
         AnonVmClassesDuringDumpTransformer.class.getName(),
     };
 
     public static String cdsDiagnosticOption = "-XX:+AllowArchivingWithJavaAgent";
 
+    public static final boolean dynamicMode =
+        Boolean.getBoolean(System.getProperty("test.dynamic.cds.archive", "false"));
+
     public static void main(String[] args) throws Throwable {
         String agentJar =
             ClassFileInstaller.writeJar("AnonVmClassesDuringDumpTransformer.jar",
                                         ClassFileInstaller.Manifest.fromSourceFile("AnonVmClassesDuringDumpTransformer.mf"),
                                         agentClasses);

@@ -69,15 +72,19 @@
         String suffix = ".*source: shared objects file.*";
         String pattern = prefix + class_pattern + suffix;
         // during run time, anonymous classes shouldn't be loaded from the archive
         TestCommon.run("-cp", appJar,
             "-XX:+UnlockDiagnosticVMOptions", cdsDiagnosticOption, Hello.class.getName())
-            .assertNormalExit(output -> output.shouldNotMatch(pattern));
+            .assertNormalExit(dynamicMode ?
+                output -> output.shouldMatch(pattern) :
+                output -> output.shouldNotMatch(pattern));
 
         // inspect the archive and make sure no anonymous class is in there
         TestCommon.run("-cp", appJar,
             "-XX:+UnlockDiagnosticVMOptions", cdsDiagnosticOption,
             "-XX:+PrintSharedArchiveAndExit", "-XX:+PrintSharedDictionary", Hello.class.getName())
-            .assertNormalExit(output -> output.shouldNotMatch(class_pattern));
+            .assertNormalExit(dynamicMode ?
+                output -> output.shouldMatch(pattern) :
+                output -> output.shouldNotMatch(pattern));
     }
 }
 
< prev index next >