< prev index next >

test/hotspot/jtreg/runtime/SharedArchiveFile/MaxMetaspaceSize.java

Print this page

        

@@ -29,16 +29,26 @@
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
  */
 
+import java.util.ArrayList;
+
 import jdk.test.lib.cds.CDSTestUtils;
 import jdk.test.lib.process.ProcessTools;
 
 public class MaxMetaspaceSize {
   public static void main(String[] args) throws Exception {
+    ArrayList<String> processArgs = new ArrayList<>();
+    processArgs.add("-Xshare:dump");
+    processArgs.add("-XX:MaxMetaspaceSize=3m");
+
+    if (System.getProperty("os.arch").contains("64")) {
+      processArgs.add("-XX:CompressedClassSpaceSize=1m");
+      processArgs.add("-XX:InitialBootClassLoaderMetaspaceSize=1m");
+    }
+
     String msg = "OutOfMemoryError: Metaspace";
-    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
-        "-XX:MaxMetaspaceSize=1m", "-Xshare:dump");
+    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(processArgs.toArray(new String[0]));
     CDSTestUtils.executeAndLog(pb, "dump").shouldContain(msg).shouldHaveExitValue(1);
   }
 }
< prev index next >