16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /**
25 * @test CdsDifferentCompactStrings
26 * @summary CDS (class data sharing) requires the same -XX:[+-]CompactStrings
27 * setting between archive creation time and load time.
28 * @requires vm.cds
29 * @library /test/lib
30 * @modules java.base/jdk.internal.misc
31 * java.management
32 */
33
34 import jdk.test.lib.cds.CDSTestUtils;
35 import jdk.test.lib.process.OutputAnalyzer;
36
37 public class CdsDifferentCompactStrings {
38 public static void main(String[] args) throws Exception {
39 createAndLoadSharedArchive("+", "-");
40 createAndLoadSharedArchive("-", "+");
41 }
42
43 private static void createAndLoadSharedArchive(String create, String load)
44 throws Exception
45 {
46 String createCompactStringsArgument = "-XX:" + create + "CompactStrings";
47 String loadCompactStringsArgument = "-XX:" + load + "CompactStrings";
48
49 OutputAnalyzer out = CDSTestUtils.createArchive(createCompactStringsArgument);
50 CDSTestUtils.checkDump(out);
51
52 out = CDSTestUtils.runWithArchive(loadCompactStringsArgument);
53 if (!CDSTestUtils.isUnableToMap(out)) {
54 out.shouldMatch("The shared archive file's CompactStrings " +
55 "setting .* does not equal the current CompactStrings setting")
56 .shouldHaveExitValue(1);
57 }
58 }
59 }
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /**
25 * @test CdsDifferentCompactStrings
26 * @summary CDS (class data sharing) requires the same -XX:[+-]CompactStrings
27 * setting between archive creation time and load time.
28 * @requires vm.cds
29 * @library /test/lib
30 * @modules java.base/jdk.internal.misc
31 * java.management
32 */
33
34 import jdk.test.lib.cds.CDSTestUtils;
35 import jdk.test.lib.process.OutputAnalyzer;
36 import jtreg.SkippedException;
37
38 public class CdsDifferentCompactStrings {
39 public static void main(String[] args) throws Exception {
40 createAndLoadSharedArchive("+", "-");
41 createAndLoadSharedArchive("-", "+");
42 }
43
44 private static void createAndLoadSharedArchive(String create, String load)
45 throws Exception
46 {
47 String createCompactStringsArgument = "-XX:" + create + "CompactStrings";
48 String loadCompactStringsArgument = "-XX:" + load + "CompactStrings";
49
50 OutputAnalyzer out = CDSTestUtils.createArchive(createCompactStringsArgument);
51 CDSTestUtils.checkDump(out);
52
53 out = CDSTestUtils.runWithArchive(loadCompactStringsArgument);
54 if (CDSTestUtils.isUnableToMap(out)) {
55 throw new SkippedException(CDSTestUtils.UnableToMapMsg);
56 } else {
57 out.shouldMatch("The shared archive file's CompactStrings " +
58 "setting .* does not equal the current CompactStrings setting")
59 .shouldHaveExitValue(1);
60 }
61 }
62 }
|