32 * jdk.jartool/sun.tools.jar 33 * @build HelloString 34 * @run main SharedStringsBasic 35 * @run main/othervm -XX:+UseStringDeduplication SharedStringsBasic 36 * @run main/othervm -XX:-CompactStrings SharedStringsBasic 37 */ 38 import jdk.test.lib.process.OutputAnalyzer; 39 import jdk.test.lib.process.ProcessTools; 40 41 // This test does not use SharedStringsUtils intentionally: 42 // - in order to demonstrate the basic use of the functionality 43 // - to provide sanity check and catch potential problems in the utils 44 public class SharedStringsBasic { 45 public static void main(String[] args) throws Exception { 46 String appJar = JarBuilder.build("SharedStringsBasic", "HelloString"); 47 48 String sharedArchiveConfigFile = 49 TestCommon.getSourceFile("SharedStringsBasic.txt").toString(); 50 51 ProcessBuilder dumpPb = ProcessTools.createJavaProcessBuilder(true, 52 TestCommon.makeCommandLineForAppCDS( 53 "-cp", appJar, 54 "-XX:SharedArchiveConfigFile=" + sharedArchiveConfigFile, 55 "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", 56 "-Xshare:dump", 57 "-Xlog:cds,cds+hashtables")); 58 59 TestCommon.executeAndLog(dumpPb, "dump") 60 .shouldContain("Shared string table stats") 61 .shouldHaveExitValue(0); 62 63 ProcessBuilder runPb = ProcessTools.createJavaProcessBuilder(true, 64 TestCommon.makeCommandLineForAppCDS( 65 "-cp", appJar, 66 "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", 67 "-Xshare:auto", 68 "-showversion", 69 "HelloString")); 70 71 TestCommon.executeAndLog(runPb, "run").shouldHaveExitValue(0); 72 } 73 } | 32 * jdk.jartool/sun.tools.jar 33 * @build HelloString 34 * @run main SharedStringsBasic 35 * @run main/othervm -XX:+UseStringDeduplication SharedStringsBasic 36 * @run main/othervm -XX:-CompactStrings SharedStringsBasic 37 */ 38 import jdk.test.lib.process.OutputAnalyzer; 39 import jdk.test.lib.process.ProcessTools; 40 41 // This test does not use SharedStringsUtils intentionally: 42 // - in order to demonstrate the basic use of the functionality 43 // - to provide sanity check and catch potential problems in the utils 44 public class SharedStringsBasic { 45 public static void main(String[] args) throws Exception { 46 String appJar = JarBuilder.build("SharedStringsBasic", "HelloString"); 47 48 String sharedArchiveConfigFile = 49 TestCommon.getSourceFile("SharedStringsBasic.txt").toString(); 50 51 ProcessBuilder dumpPb = ProcessTools.createJavaProcessBuilder(true, 52 "-cp", appJar, 53 "-XX:SharedArchiveConfigFile=" + sharedArchiveConfigFile, 54 "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", 55 "-Xshare:dump", 56 "-Xlog:cds,cds+hashtables"); 57 58 TestCommon.executeAndLog(dumpPb, "dump") 59 .shouldContain("Shared string table stats") 60 .shouldHaveExitValue(0); 61 62 ProcessBuilder runPb = ProcessTools.createJavaProcessBuilder(true, 63 "-cp", appJar, 64 "-XX:SharedArchiveFile=./SharedStringsBasic.jsa", 65 "-Xshare:auto", 66 "-showversion", 67 "HelloString"); 68 69 TestCommon.executeAndLog(runPb, "run").shouldHaveExitValue(0); 70 } 71 } |