--- a/test/lib/jdk/test/lib/cds/CDSTestUtils.java Fri May 17 10:48:02 2019 -0400
+++ b/test/lib/jdk/test/lib/cds/CDSTestUtils.java Fri May 17 08:29:55 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2019, 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
@@ -43,6 +43,8 @@
public static final String MSG_COMPRESSION_MUST_BE_USED =
"Unable to use shared archive: UseCompressedOops and UseCompressedClassPointers must be on for UseSharedSpaces.";
+ public static final boolean DYNAMIC_DUMP = Boolean.getBoolean("test.dynamic.cds.archive");
+
public interface Checker {
public void check(OutputAnalyzer output) throws Exception;
}
@@ -246,7 +248,7 @@
cmd.add("-Xlog:cds,cds+hashtables");
if (opts.archiveName == null)
opts.archiveName = getDefaultArchiveName();
- cmd.add("-XX:SharedArchiveFile=./" + opts.archiveName);
+ cmd.add("-XX:SharedArchiveFile=" + opts.archiveName);
if (opts.classList != null) {
File classListFile = makeClassList(opts.classList);
@@ -260,12 +262,20 @@
return executeAndLog(pb, "dump");
}
+ public static boolean isDynamicArchive() {
+ return DYNAMIC_DUMP;
+ }
// check result of 'dump-the-archive' operation, that is "-Xshare:dump"
public static OutputAnalyzer checkDump(OutputAnalyzer output, String... extraMatches)
throws Exception {
- output.shouldContain("Loading classes to share");
+ if (!DYNAMIC_DUMP) {
+ output.shouldContain("Loading classes to share");
+ } else {
+ output.shouldContain("Buffer-space to target-space delta")
+ .shouldContain("Written dynamic archive 0x");
+ }
output.shouldHaveExitValue(0);
for (String match : extraMatches) {