< prev index next >

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

Print this page
rev 49875 : [mq]: first.patch

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -21,11 +21,11 @@
  * questions.
  */
 
 /*
  * @test NonBootLoaderClasses
- * @summary Test to ensure platform and app classes are not being archived
+ * @summary Test to ensure platform and app classes are archived when specified in classlist
  * @requires vm.cds
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
  * @run main NonBootLoaderClasses

@@ -44,22 +44,23 @@
         String[] classes = {PLATFORM_CLASS, APP_CLASS};
         String classList =
             CDSTestUtils.makeClassList(classes).getPath();
         String archiveName = "NonBootLoaderClasses.jsa";
         CDSOptions opts = (new CDSOptions())
-            .addPrefix("-XX:ExtraSharedClassListFile=" + classList)
+            .addPrefix("-XX:ExtraSharedClassListFile=" + classList, "-cp", "\"\"")
             .setArchiveName(archiveName);
         CDSTestUtils.createArchiveAndCheck(opts);
 
         // Print the shared dictionary and inspect the output
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+                "-cp", "\"\"",
                 "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./" + archiveName,
                 "-XX:+PrintSharedArchiveAndExit", "-XX:+PrintSharedDictionary");
         OutputAnalyzer out = CDSTestUtils.executeAndLog(pb, "print-shared-archive");
         if (!CDSTestUtils.isUnableToMap(out)) {
             out.shouldContain("archive is valid")
                .shouldHaveExitValue(0)               // Should report success in error code.
-               .shouldNotContain(PLATFORM_CLASS)
-               .shouldNotContain(APP_CLASS);
+               .shouldContain(PLATFORM_CLASS.replace('/', '.'))
+               .shouldContain(APP_CLASS.replace('/', '.'));
         }
    }
 }
< prev index next >