test/runtime/SharedArchiveFile/ArchiveDoesNotExist.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2014, 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) 2014, 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.
*** 31,41 ****
* @modules java.base/jdk.internal.misc
* java.management
* @run main ArchiveDoesNotExist
*/
! import jdk.test.lib.process.ProcessTools;
import jdk.test.lib.process.OutputAnalyzer;
import java.io.File;
public class ArchiveDoesNotExist {
public static void main(String[] args) throws Exception {
--- 31,42 ----
* @modules java.base/jdk.internal.misc
* java.management
* @run main ArchiveDoesNotExist
*/
! import jdk.test.lib.cds.CDSOptions;
! import jdk.test.lib.cds.CDSTestUtils;
import jdk.test.lib.process.OutputAnalyzer;
import java.io.File;
public class ArchiveDoesNotExist {
public static void main(String[] args) throws Exception {
*** 43,71 ****
File cdsFile = new File(fileName);
if (cdsFile.exists())
throw new RuntimeException("Test error: cds file already exists");
! // Sharing: on
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
! "-XX:+UnlockDiagnosticVMOptions",
! "-XX:SharedArchiveFile=./" + fileName,
! "-Xshare:on",
! "-version");
!
! OutputAnalyzer output = new OutputAnalyzer(pb.start());
! output.shouldContain("Specified shared archive not found");
! output.shouldHaveExitValue(1);
!
! // Sharing: auto
! pb = ProcessTools.createJavaProcessBuilder(
! "-XX:+UnlockDiagnosticVMOptions",
! "-XX:SharedArchiveFile=./" + fileName,
! "-Xshare:auto",
! "-version");
!
! output = new OutputAnalyzer(pb.start());
! output.shouldMatch("(java|openjdk) version");
! output.shouldNotContain("sharing");
! output.shouldHaveExitValue(0);
}
}
--- 44,67 ----
File cdsFile = new File(fileName);
if (cdsFile.exists())
throw new RuntimeException("Test error: cds file already exists");
! CDSOptions opts = (new CDSOptions()).setArchiveName(fileName);
!
! // -Xshare=on
! OutputAnalyzer out = CDSTestUtils.runWithArchive(opts);
! if (!CDSTestUtils.isUnableToMap(out)) {
! out.shouldContain("Specified shared archive not found")
! .shouldHaveExitValue(1);
! }
!
! // -Xshare=auto
! opts.setXShareMode("auto");
! out = CDSTestUtils.runWithArchive(opts);
! if (!CDSTestUtils.isUnableToMap(out)) {
! out.shouldMatch("(java|openjdk) version")
! .shouldNotContain("sharing")
! .shouldHaveExitValue(0);
! }
}
}