--- old/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java 2018-10-29 14:02:56.453661166 -0700 +++ new/test/hotspot/jtreg/runtime/appcds/sharedStrings/SharedStringsBasic.java 2018-10-29 14:02:56.097647079 -0700 @@ -27,13 +27,11 @@ * @summary Basic test for shared strings * @requires vm.cds.archived.java.heap * @library /test/hotspot/jtreg/runtime/appcds /test/lib - * @modules java.base/jdk.internal.misc - * @modules java.management - * jdk.jartool/sun.tools.jar + * @modules jdk.jartool/sun.tools.jar * @build HelloString * @run driver SharedStringsBasic - * @run main/othervm -XX:+UseStringDeduplication SharedStringsBasic - * @run main/othervm -XX:-CompactStrings SharedStringsBasic + * @run driver SharedStringsBasic -XX:+UseStringDeduplication + * @run driver SharedStringsBasic -XX:-CompactStrings */ import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools; @@ -43,28 +41,32 @@ // - to provide sanity check and catch potential problems in the utils public class SharedStringsBasic { public static void main(String[] args) throws Exception { + String vmOptionsPrefix[] = args; + String appJar = JarBuilder.build("SharedStringsBasic", "HelloString"); String sharedArchiveConfigFile = TestCommon.getSourceFile("SharedStringsBasic.txt").toString(); ProcessBuilder dumpPb = ProcessTools.createJavaProcessBuilder(true, + TestCommon.concat(vmOptionsPrefix, "-cp", appJar, "-XX:SharedArchiveConfigFile=" + sharedArchiveConfigFile, "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", "-Xshare:dump", - "-Xlog:cds,cds+hashtables"); + "-Xlog:cds,cds+hashtables")); TestCommon.executeAndLog(dumpPb, "dump") .shouldContain("Shared string table stats") .shouldHaveExitValue(0); ProcessBuilder runPb = ProcessTools.createJavaProcessBuilder(true, + TestCommon.concat(vmOptionsPrefix, "-cp", appJar, "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", "-Xshare:auto", "-showversion", - "HelloString"); + "HelloString")); TestCommon.executeAndLog(runPb, "run").shouldHaveExitValue(0); }