test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2013, 2016, 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. --- 1,7 ---- /* ! * Copyright (c) 2013, 2017, 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.
*** 32,42 **** * @bug 8025642 * @modules java.base/jdk.internal.misc * java.management */ ! import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.Platform; public class CdsDifferentObjectAlignment { public static void main(String[] args) throws Exception { --- 32,42 ---- * @bug 8025642 * @modules java.base/jdk.internal.misc * java.management */ ! import jdk.test.lib.cds.CDSTestUtils; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.Platform; public class CdsDifferentObjectAlignment { public static void main(String[] args) throws Exception {
*** 59,98 **** throws Exception { String createAlignmentArgument = "-XX:ObjectAlignmentInBytes=" + createAlignment; String loadAlignmentArgument = "-XX:ObjectAlignmentInBytes=" + loadAlignment; - String filename = "./CdsDifferentObjectAlignment" + createAlignment + ".jsa"; - - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder( - "-XX:+UnlockDiagnosticVMOptions", - "-XX:SharedArchiveFile=" + filename, - "-Xshare:dump", - createAlignmentArgument); - - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("Loading classes to share"); - output.shouldHaveExitValue(0); - - pb = ProcessTools.createJavaProcessBuilder( - "-XX:+UnlockDiagnosticVMOptions", - "-XX:SharedArchiveFile=" + filename, - "-Xshare:on", - loadAlignmentArgument, - "-version"); - - output = new OutputAnalyzer(pb.start()); String expectedErrorMsg = String.format( "The shared archive file's ObjectAlignmentInBytes of %d " + "does not equal the current ObjectAlignmentInBytes of %d", createAlignment, loadAlignment); ! try { ! output.shouldContain(expectedErrorMsg); ! } catch (RuntimeException e) { ! output.shouldContain("Unable to use shared archive"); ! } ! output.shouldHaveExitValue(1); } } --- 59,76 ---- throws Exception { String createAlignmentArgument = "-XX:ObjectAlignmentInBytes=" + createAlignment; String loadAlignmentArgument = "-XX:ObjectAlignmentInBytes=" + loadAlignment; String expectedErrorMsg = String.format( "The shared archive file's ObjectAlignmentInBytes of %d " + "does not equal the current ObjectAlignmentInBytes of %d", createAlignment, loadAlignment); ! CDSTestUtils.createArchiveAndCheck(createAlignmentArgument); ! ! OutputAnalyzer out = CDSTestUtils.runWithArchive(loadAlignmentArgument); ! CDSTestUtils.checkExecExpectError(out, 1, expectedErrorMsg); } }